home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d3 / qedit207.arc / QEDIT.DOC < prev    next >
Text File  |  1989-04-16  |  251KB  |  5,862 lines

  1. I
  2.  
  3.                                 Welcome to
  4.  
  5.                               QEdit Advanced
  6.                             the "quick editor"
  7.  
  8.  
  9.                        Version 2.07 (December 1988)
  10.  
  11.  
  12.                       R E F E R E N C E   M A N U A L
  13.  
  14.  
  15.  
  16.                                   SemWare
  17.                              730 Elk Cove Court
  18.                           Kennesaw, GA 30144-4047
  19.                               (404)  428-6416
  20.  
  21.  
  22.                      Copyright (c) 1985-1988 SemWare
  23.                             All Rights Reserved
  24.  
  25.  
  26.       This version of the documentation, software and copyright
  27.       supersedes all previous versions of QEdit.
  28.  
  29.       Specifications subject to change without notice.
  30.  
  31.  
  32.  
  33.                            _______
  34.                       ____|__     |               (TM)
  35.                    --|       |    |-------------------
  36.                      |   ____|__  |  Association of
  37.                      |  |       |_|  Shareware
  38.                      |__|   o   |    Professionals
  39.                    -----|   |   |---------------------
  40.                         |___|___|    MEMBER
  41.  
  42.  
  43.  
  44.  
  45.                                    LICENSE
  46.  
  47.  
  48.  
  49.       This version of QEdit is NOT public domain or free software, but
  50.       is being distributed as "shareware".
  51.  
  52.       QEdit is copyright (C) 1985-1988 by SemWare.
  53.  
  54.       Non-registered users of this software are granted a limited
  55.       license to make an evaluation copy for trial use on a private,
  56.       non-commercial basis, for the express purpose of determining
  57.       whether QEdit is suitable for their needs.  At the end of this
  58.       trial period, you should either register your copy or
  59.       discontinue using QEdit.
  60.  
  61.       What does all this really mean?  If you use this program, then
  62.       you should pay for your copy.  That way SemWare will be able to
  63.       provide you support and updates, and stay in business.  Plus,
  64.       registered users receive additional utilities, additional
  65.       configuration files, update notices, technical support, and, a
  66.       version of the program that does NOT show the opening and closing
  67.       beg screens, and does not require the pressing of F10 to start
  68.       the program.
  69.  
  70.       A QEdit registration entitles you to use the program on any and
  71.       all computers available to you, with the following restriction:
  72.       If other people have access to this program or may use it, then
  73.       you should purchase a site license.  See the following section
  74.       for information about site licensing or quantity discounts.
  75.  
  76.       All users are granted a limited license to copy QEdit only for
  77.       the trial use of others and subject to the above limitations.
  78.       This license does NOT include distribution or copying of this
  79.       software package:
  80.  
  81.         1. In connection with any other product or service.
  82.         2. For general use within a company or institution.
  83.         3. For any consideration or 'disk fee'.
  84.         4. For distribution in modified form; i.e., the file containing
  85.            this license information MUST be included, along with the
  86.            full QEdit documentation.
  87.  
  88.       Operators of electronic bulletin board systems (Sysops) are
  89.       encouraged to post QEdit for downloading by their users, as
  90.       long as the above conditions are met.
  91.  
  92.  
  93.  
  94.  
  95.                            ORDERING INFORMATION
  96.  
  97.       A QEdit registration licenses you to use the product on a regular
  98.       basis.  Registration includes notification of updates and
  99.       telephone support.
  100.  
  101.       Individual registrations for QEdit come in two forms.  The first,
  102.       registration only, costs $44 (plus 1.50 shipping).  When received,
  103.       we will send you the latest QEdit diskette, with documentation on
  104.       the disk. Alternatively, if you so specify, we will send you the
  105.       next update of the program, when available.  We also offer QEdit
  106.       with a printed manual.  For $54.95 (plus 3.00 shipping) we will
  107.       send you the current version of QEdit, along with a professionally
  108.       typeset bound manual, and a QEdit quick reference card.  Georgia
  109.       residents should include 4% sales tax.
  110.  
  111.  
  112.  
  113.       ORDERS OUTSIDE THE US: Please use your Mastercard or VISA when
  114.       ordering, or send a check drawn on a US bank in US dollars.  We
  115.       can accept non-US currency; however, you must include an
  116.       additional $25 to cover conversion and collection costs.  Please
  117.       include an additional $10 to cover postage on orders delivered
  118.       outside of the US.
  119.  
  120.       Educational institutions, full-time students and BBS sysops can
  121.       apply a 35% discount to all prices.  PLEASE include your
  122.       educational institution letterhead (with your title), or a
  123.       photocopy of your most recent registration slip, or the name and
  124.       number of your BBS along with any other relevant information.
  125.  
  126.  
  127. Remit to:                 SemWare                     Order Form  #8812-OF02
  128.                           Order Desk
  129.                           730 Elk Cove Ct.
  130.                           Kennesaw, GA  30144
  131.  
  132.                           QEdit version 2.07
  133.  
  134. We offer special prices/discounts on quantity orders, multiple-user
  135. licenses, and dealer pricing.  We also offer discounts to educational
  136. institutions, full-time students and bonified BBS sysops.  Please call
  137. for details.
  138.  
  139. You can also order by phone using your VISA or Mastercard.
  140. (404) 428-6416,  Mon-Fri: 9:00 a.m.- 5:00 p.m., ET ONLY.
  141.  
  142. ____ QEdit Registration ........................ @ $ 44.00 ea  $ ______
  143.      (Includes latest version of the program diskette, with
  144.      documentation on the disk.)
  145.  
  146.      Instead of sending me version 2.07, please send me the next update
  147.      when it is available. (applicable to diskette orders only) [_____]
  148.  
  149. ____ QEdit Registration with Printed Manual..... @ $ 54.95 ea  $ ______
  150.      (Includes registration, program diskette, plus our new
  151.      professionally printed, 120-page spiral bound manual.)
  152.  
  153.  
  154.                                                      Subtotal  $ ______
  155.  
  156.  
  157. ____ Georgia Residents please add Sales Tax .... @ 4%          $ ______
  158.  
  159.      Shipping via US Postal Service, prepaid:
  160. ____ USA/Canada shipping ....................... @ $  3.00 ea  $ ______
  161.  
  162. ____ Overseas shipping ......................... @ $ 10.00 ea  $ ______
  163.  
  164. ____ Purchase Orders under $100.00, add $5.00 Handling Charge  $ ______
  165.      (NON PREPAID ORDERS ONLY - this does not apply to cash,
  166.      check, money order or charge card orders)
  167.      (Call to Confirm Current Price before ordering)
  168.  
  169.                                              Total (U.S.Funds) $ ______
  170.                                              drawn on U.S.Bank
  171.  
  172. Payment by:   ( ) Check   ( ) MC   ( ) Visa   ( ) PO # ______________
  173.  
  174.    Name: ____________________________________________________________
  175.  
  176. Company (if purchase is for company use):____________________________
  177.  
  178. Address: ____________________________________________________________
  179.  
  180.        : ____________________________________________________________
  181.  
  182.        : ____________________________________________________________
  183.  
  184. Day Phone: _________________________ Eve: ___________________________
  185.  
  186.  Card #: _________________________________ Exp. Date: _______________
  187.  
  188. Signature of cardholder: ____________________________________________
  189.  
  190. ------------------------ User comments ------------------------------
  191. I acquired QEdit v2.07 from
  192.         [ ] - Friend                    [ ] - Software product
  193.         [ ] - Computer Club             [ ] - Computer Store
  194.         [ ] - Data Base Service         [ ] - Electronic BBS
  195.         [ ] - Other - Please Specify ________________________________
  196.  
  197. We would also appreciate any input you would care to give concerning
  198. QEdit.  If you have any ideas or comments that would make QEdit a better
  199. program, then please let us know.
  200.  
  201. We value your comments!
  202.  
  203. Comments and/or suggestions:
  204. ____________________________________________________________________
  205.  
  206. ____________________________________________________________________
  207.  
  208. ____________________________________________________________________
  209.  
  210. ____________________________________________________________________
  211.  
  212. ____________________________________________________________________
  213.  
  214. ____________________________________________________________________
  215.  
  216. ____________________________________________________________________
  217.  
  218. ____________________________________________________________________
  219.  
  220. ____________________________________________________________________
  221.  
  222. ____________________________________________________________________
  223.  
  224. ____________________________________________________________________
  225.  
  226. ____________________________________________________________________
  227.  
  228. ____________________________________________________________________
  229.  
  230.  
  231.  
  232.  
  233.  
  234.                                  DISCLAIMER
  235.  
  236.       Use of this program acknowledges this disclaimer of warranty:
  237.       "This program is supplied as is.  SemWare disclaims all
  238.       warranties, expressed or implied, including, without limitation,
  239.       the warranties of merchantability and of fitness of this program
  240.       for any purpose.  SemWare assumes no liability for damages direct
  241.       or consequential, which may result from the use of this program."
  242.  
  243.  
  244.                                  TRADEMARK
  245.  
  246.       SemWare and QEdit are trademarks of SemWare.
  247.       MS-DOS is a registered trademark of Microsoft Corporation.
  248.       PC-DOS is a registered trademark of IBM Corporation.
  249.       Compaq is a registered trademark of Compaq Computer Corporation.
  250.       Tandy 1000 is a registered trademark of Tandy Corporation.
  251.       SideKick and SuperKey are registered trademarks
  252.       of Borland International, Inc.
  253.       Wordstar is a registered trademark of MicroPro International Corporation.
  254.       Brief is a registered trademark of UnderWare, Inc.
  255.  
  256.  
  257.  
  258.  
  259.              CORPORATE SITE LICENSES AND QUANTITY PURCHASES
  260.  
  261.       All corporate, business, government or other commercial users of
  262.       QEdit must be registered.  We offer quantity discounts as well as
  263.       site licensing.
  264.  
  265.       Corporate site licensing agreements allow duplication and
  266.       distribution of specific numbers of copies within the licensed
  267.       institution.  Duplication of multiple copies is not allowed
  268.       except through execution of a licensing agreement.  Site license
  269.       fees are based upon estimated number of users.
  270.  
  271.       Note that with a site license, only one copy of the program will
  272.       be sent.  You will be responsible for distributing additional
  273.       copies.
  274.  
  275.       Please call or write for more information.
  276.  
  277.       ALL PRICES AND DISCOUNTS ARE SUBJECT TO CHANGE WITHOUT NOTICE.
  278.       Discounts are not cumulative; they apply to single orders of
  279.       like products only.  Unit prices are the same as for individual
  280.       users.
  281.  
  282.       WARNING: YOU MAY NOT USE QEdit WITHIN YOUR ORGANIZATION WITHOUT
  283.       A PRIOR PURCHASE OR LICENSE ARRANGEMENT.
  284.  
  285.  
  286.                               CUSTOM VERSIONS
  287.  
  288.       We can produce custom versions of QEdit, for your private or
  289.       commercial use (i.e., to be distributed with your software).
  290.       Give us a call.
  291.  
  292.       Need a small, fast editor to distribute with your product?  Give
  293.       us a call.  We can probably work something out.
  294.  
  295.       Please direct all inquiries to:
  296.  
  297.       SemWare
  298.       730 Elk Cove Court
  299.       Kennesaw, GA  30144-4047
  300.  
  301.       Phone: (404) 428-6416   9:00 - 5:00 EST
  302.  
  303.  
  304.  
  305.  
  306.  
  307.     Table of Contents
  308.     =========================================================================
  309.  
  310.     Acknowledgements ..............................................  ii
  311.     Introduction .................................................. iii
  312.     Features ......................................................  iv
  313.     System Requirements ...........................................   v
  314.     Installation ..................................................  vi
  315.  
  316.     Chapter 1  Users Guide for QEdit                                1-1
  317.         Quick Start ............................................... 1-2
  318.             Getting Started ....................................... 1-2
  319.             In the Editor ......................................... 1-2
  320.             Getting Out ........................................... 1-3
  321.         Menus ..................................................... 1-3
  322.         The Status Line ........................................... 1-4
  323.         Files ..................................................... 1-5
  324.             Creating New Files .................................... 1-5
  325.             Loading Existing Files ................................ 1-5
  326.             Multiple Files:  The Ring ............................. 1-6
  327.             Saving Files and Exiting  ............................. 1-8
  328.         Viewing and Getting Around in the Text .................... 1-9
  329.             Cursor Movement ....................................... 1-9
  330.                 Moving Through a File ............................. 1-9
  331.                 Moving Around on the Screen ....................... 1-12
  332.                 Moving by Lines and Characters .................... 1-13
  333.             Using Windows ......................................... 1-13
  334.                 Creating Windows .................................. 1-14
  335.                 Switching Windows ................................. 1-14
  336.                 Changing Window Size .............................. 1-14
  337.                 Closing Windows ................................... 1-15
  338.         Copying, Moving, Replacing, and Deleting text ............. 1-16
  339.             Block Commands ........................................ 1-16
  340.                 Marking and Unmarking a Block ..................... 1-16
  341.                 Manipulating Blocks Directly ...................... 1-17
  342.                 Manipulating Blocks Using Scrap Buffers ........... 1-19
  343.                 Manipulating Blocks Using Scratch Buffers ......... 1-20
  344.                 Examples of Block Commands ........................ 1-21
  345.             Non-Block Commands .................................... 1-25
  346.                 Adding Text ....................................... 1-25
  347.                 Copying Text ...................................... 1-25
  348.                 Moving Text ....................................... 1-26
  349.                 Deleting and Undeleting Text ...................... 1-27
  350.                 Replacing Text .................................... 1-29
  351.             The Kill Buffer - A Safety Net ........................ 1-30
  352.         Macros .................................................... 1-32
  353.             Creating Macros ....................................... 1-33
  354.  
  355.  
  356.             Using Macros .......................................... 1-34
  357.             Saving and Reloading Macros ........................... 1-34
  358.             Example of a Macro .................................... 1-35
  359.         Printing .................................................. 1-35
  360.             Print Formatting ...................................... 1-36
  361.             Formfeeds ............................................. 1-36
  362.         The Shell and Dos Commands ................................ 1-37
  363.         Word Processing Commands .................................. 1-38
  364.         Modes ..................................................... 1-39
  365.  
  366.     Chapter 2  Customizing QEdit                                    2-1
  367.         Initiating the Configuration Program ...................... 2-2
  368.         The Configuration Menu .................................... 2-3
  369.         Advanced Options .......................................... 2-5
  370.         Colors/Screen Options ..................................... 2-6
  371.         General Options ........................................... 2-9
  372.         The Help Screen ........................................... 2-13
  373.         Keyboard Configuration .................................... 2-13
  374.             The Keyboard Definition File .......................... 2-14
  375.             Creating a Keyboard Definition File ................... 2-16
  376.         Printer Options ........................................... 2-17
  377.         Tab Settings .............................................. 2-17
  378.  
  379.     Chapter 3  QEdit Command Reference                              3-1
  380.  
  381.     Appendix A.  List of Commands                                   A-1
  382.         By Function ............................................... A-1
  383.         Alphabetically ............................................ A-6
  384.  
  385.     Appendix B.  List of Configurable Keys                          B-1
  386.         Function Keys ............................................. B-1
  387.         Special Purpose Keys ...................................... B-2
  388.         Control Keys .............................................. B-3
  389.         Alternate Keys ............................................ B-5
  390.         Enhanced Keyboard Keys .................................... B-6
  391.  
  392.     Appendix C.  Error Messages                                     C-1
  393.         QEdit Error Messages ...................................... C-1
  394.         QCONFIG Error Messages .................................... C-3
  395.  
  396.     Appendix D.  Commonly Used Macros                               D-1
  397.  
  398.     Appendix E.  The Author                                         E-1
  399.  
  400.  
  401.  
  402.  
  403.  
  404.     Acknowledgements
  405.     =========================================================================
  406.  
  407.     Many years of work have gone into the development of this version of
  408.     QEdit.  And we had LOTS of help.  Special thanks go to:
  409.  
  410.     My wife, for her many valuable suggestions, for "proofing" this
  411.     manual, and for putting up with all the long hours (and many all
  412.     nighters) that I have spent working on QEdit.
  413.  
  414.     Gerhard Barth, who went above and beyond the call of duty to help us
  415.     track down a nasty bug in the very first version of QEdit.
  416.  
  417.     P.L. Olympia, who has gone out of his way and spent much time
  418.     promoting this program.
  419.  
  420.     Anthony M. Marcy, who developed the INLINER program, an assembler
  421.     which translates 8088 assembly language directly into Turbo Pascal
  422.     INLINE code.
  423.  
  424.     Karl Brendel, for his constant support and excellent testing.  Karl
  425.     is also the author of an excellent add-on product for QMODEM called
  426.     QFONEDIT.
  427.  
  428.     John Newlin, for his encouragement and support.  John is also the
  429.     author of SCOUT.  If you're looking for a powerful file or DOS
  430.     manager that's memory resident, then look no further.  SCOUT is
  431.     probably what you're looking for.
  432.  
  433.     Stuart Warren, for his insight, encouragement, and many valuable
  434.     programming suggestions.
  435.  
  436.     Steve Watkins, for all the many hours he spent testing and the many
  437.     "hard to find" bugs and quirks that he uncovered.
  438.  
  439.     All the folks at TurboPower software.  We're especially grateful for
  440.     TdebugPlus.  Using Turbo Pascal without the tools provided by the
  441.     TurboPower folks is just plain wasteful!
  442.  
  443.     To ALL registered users - THANK YOU - it is only through your
  444.     support that additional versions are made possible.
  445.  
  446.                                   ii
  447.  
  448.  
  449.  
  450.  
  451.     Introduction
  452.     =========================================================================
  453.  
  454.     "You can never be too rich, too thin, or have too much RAM and
  455.     Disk storage."  Ancient American proverb, ca. 1980
  456.  
  457.     This manual describes the use and operation of QEdit, a full-screen
  458.     text editor for the IBM PC and compatible computers.  The manual
  459.     includes installation instructions, a user's guide, and a reference
  460.     section which explains all of QEdit's commands.
  461.  
  462.     QEdit is a text editor as opposed to a word processor.  This means
  463.     that most of its features are geared toward creating and maintaining
  464.     program source code and other text files.  However, QEdit can also
  465.     be used like a word processor to write documents or letters since it
  466.     includes word-wrapping and paragraph reformatting capabilities.
  467.  
  468.  
  469.     QEdit was developed with these goals in mind:
  470.  
  471.     ■ FAST OPERATION - More than anything else, QEdit was designed to
  472.       operate quickly, especially in these areas:
  473.  
  474.         - Initially loading a file for editing.
  475.         - Displaying/Updating the screen.
  476.         - Moving through the editing window.
  477.         - Searching for text.
  478.         - Saving a file back to disk.
  479.  
  480.  
  481.     ■ EASE OF USE - This version of QEdit includes:
  482.  
  483.         - Optional "Pop-Down" menus.
  484.         - Customizable Help Screen.
  485.         - Complete execution from a single file (Q.EXE).
  486.         - Pop-up file directory and picker.
  487.  
  488.  
  489.     ■ COMPACT PROGRAM SIZE - Every effort was made to keep the program
  490.       size as compact as possible.  Even though memory is getting
  491.       cheaper all the time, we didn't want QEdit to require any more
  492.       memory than absolutely necessary.
  493.  
  494.                                   iii
  495.  
  496.  
  497.  
  498.  
  499.     Features
  500.     =========================================================================
  501.  
  502.     These are just some of the many features you will enjoy while using
  503.     QEdit:
  504.  
  505.     ■ It is very fast!
  506.  
  507.     ■ It is customizable.  QEdit can be easily configured the way you
  508.       like it.  This includes the meaning of ALL special keys on the
  509.       keyboard (Alt, Ctrl, and function keys; <Home>, <PgUp>, etc.),
  510.       colors, screen appearance, and many other options.
  511.  
  512.     ■ It utilizes all available memory.  With QEdit you can edit files
  513.       as large as your computer's memory will allow.
  514.  
  515.     ■ It allows true multi-file editing.  The number of files you can
  516.       edit is limited only by available memory.
  517.  
  518.     ■ It enables you to view files through up to eight "windows".  You
  519.       can have multiple views of the same file or view a different file
  520.       in each window.
  521.  
  522.     ■ It provides up to 99 scratch buffers for cut-and-paste or template
  523.       operations.
  524.  
  525.     ■ It allows you to exit to DOS (or a DOS shell) temporarily and use
  526.       DOS commands from within the editor.
  527.  
  528.     ■ It is easy to use.  You can use the optional "Pop-Down" menus to
  529.       access QEdit's commands, and there is a Help Screen which you can
  530.       customize for your own needs.
  531.  
  532.     ■ It supports both character and line Blocks.
  533.  
  534.     ■ It allows you to create macros which will execute a series of
  535.       commands and keystrokes by pressing a single key.
  536.  
  537.     ■ It provides wordwrap and paragraph reformat capabilities.
  538.  
  539.     ■ It saves deleted words, lines, and Blocks in a deletion buffer for
  540.       later recall.
  541.  
  542.     ■ It provides "C mode", which utilizes automatic indentation for C
  543.       language programming.
  544.  
  545.     ■ It locates matching braces and parentheses, a useful feature for
  546.       programming.
  547.  
  548.     ■ It will load multiple files from the DOS command line, with or
  549.       without wildcard characters.
  550.  
  551.     ■ It allows you to specify up to six default file extensions for use
  552.       when loading files and determining tab settings.
  553.  
  554.                                   iv
  555.  
  556.  
  557.     ■ It allows you to execute command line compilers from within QEdit,
  558.       using its macro capability.
  559.  
  560.     ■ It provides line drawing to create diagrams and tables.
  561.  
  562.     ■ It supports enhanced (101 key) keyboards.
  563.  
  564.     ■ It supports up to 200-column and 100-line screens.
  565.  
  566.     ■ It is compact.  Even with all these features, QEdit requires less
  567.       than 50k of disk space.
  568.  
  569.  
  570.  
  571.     System Requirements
  572.     =========================================================================
  573.  
  574.     QEdit will run on the IBM PS/2, PC/AT, PC/XT, PC, PC/Jr, and on IBM
  575.     compatible computers including the Compaq, NCR, Tandy, and WYSE
  576.     PC's.  MINIMUM requirements are:
  577.  
  578.     ■ 128 KB of memory (although QEdit can utilize up to 640 KB if it
  579.       is available).
  580.  
  581.     ■ PC-DOS 2.0 or greater or MS-DOS 2.0 or greater.
  582.  
  583.     ■ One diskette drive.
  584.  
  585.     ■ Either a color or a monochrome monitor with 80-column display.
  586.  
  587.     ■ 60 KB of disk space.
  588.  
  589.     ■ Q.EXE, the editor program itself.  No other files are necessary for
  590.       operating QEdit.
  591.  
  592.                                   v
  593.  
  594.  
  595.  
  596.  
  597.     Installation
  598.     =========================================================================
  599.  
  600.     Before installing QEdit, you should review the contents of the
  601.     READ.ME file on your QEdit distribution diskette.  This file
  602.     contains important information (usage information, new features,
  603.     changes, etc.) that became available after this manual was printed.
  604.     You should carefully review the READ.ME file before using QEdit.
  605.  
  606.     The READ.ME file also contains a complete list of the files included
  607.     on the distribution diskette.  A partial list is included here:
  608.  
  609.     Q.EXE           QEdit.  No other files are necessary for proper
  610.                     operation of QEdit.
  611.  
  612.     QCONFIG.EXE     The QEdit configuration program.  This program
  613.                     allows you to customize QEdit.
  614.  
  615.     QCONFIG.DAT     The default QEdit Keyboard Definition file. Used
  616.                     by QCONFIG.EXE.
  617.  
  618.     QHELP.TXT       The default QEdit Help text.  Used by QCONFIG.EXE.
  619.  
  620.  
  621.     QEdit is simple to install.  But first, be sure to make a backup
  622.     copy of the distribution diskette.
  623.  
  624.     Once you have made your backup copy, simply copy Q.EXE to the disk
  625.     and/or subdirectory where you would like to use it.  If you are
  626.     using a hard disk, then you probably want to put it somewhere that
  627.     is accessible via the "path".  For example, on our system, we keep
  628.     many of our executable programs in a subdirectory called TOOLS.
  629.  
  630.                                        ┌─────────────────────────────────┐
  631.                                        │QEdit Tip:                       │
  632.                                        │ Please note that one of the     │
  633.                                        │ MAJOR features of QEdit is      │
  634.                                        │ configurability.  You can       │
  635.                                        │ customize the colors, the keys, │
  636.                                        │ the on-screen appearance of the │
  637.                                        │ editor, and many other          │
  638.                                        │ functions.                      │
  639.                                        │                                 │
  640.                                        │ By spending just a small amount │
  641.                                        │ of time reviewing Chapter 2 on  │
  642.                                        │ configuration, you can benefit  │
  643.                                        │ greatly through customizing the │
  644.                                        │ editor to your personal         │
  645.                                        │ preferences.                    │
  646.                                        └─────────────────────────────────┘
  647.  
  648.     If you will be customizing QEdit (Refer to Chapter 2 for complete
  649.     information on customizing QEdit), then you may wish to create a
  650.     special directory and copy the files Q.EXE, QCONFIG.EXE,
  651.     QCONFIG.DAT, and QHELP.TXT to that directory.
  652.  
  653.                                   vi
  654.  
  655.  
  656.  
  657.  
  658.     Chapter 1. Users Guide For QEdit
  659.     =========================================================================
  660.  
  661.     Quick Start
  662.     ─────────────────────────────────────────────────────────────────────────
  663.  
  664.     With QEdit you can edit any text file with a few simple commands.
  665.     The next three sections briefly describe the quickest way possible
  666.     to load, edit, and save a file.
  667.  
  668.  
  669.     Getting Started
  670.  
  671.     Using QEdit is simple and straightforward.
  672.  
  673.     To initiate QEdit, type "Q <Enter>".  The Editor will respond with
  674.     a prompt for the name of the file to be edited.
  675.  
  676.     ┌─────────────────────────────────────────────────────────────────┐
  677.     │  File(s) to edit: <Esc = abort>                                 │
  678.     │                                                                 │
  679.     └─────────────────────────────────────────────────────────────────┘
  680.  
  681.     Enter the filename.  The filename may include full path designation.
  682.  
  683.                                        ┌─────────────────────────────────┐
  684.                                        │QEdit Tip:                       │
  685.                                        │  At any "File to edit" prompt,  │
  686.                                        │  you may use wildcard characters│
  687.                                        │  (* or ?) to obtain a list of   │
  688.                                        │  matching files in the          │
  689.                                        │  directory.                     │
  690.                                        └─────────────────────────────────┘
  691.  
  692.     You may optionally include the filename on the DOS command line in
  693.     order to bypass this prompt.  For example, from the DOS command line,
  694.     type:
  695.                    "Q filename <Enter>"
  696.  
  697.  
  698.     In the Editor
  699.  
  700.     Once you are in QEdit, the cursor movement keys (Left, Right, Up,
  701.     Down, Home, End, ...) allow you to move around in the text.
  702.  
  703.     To obtain a help screen, simply press <F1>.  Pressing <F1> again
  704.     returns you to the text.
  705.  
  706.     To obtain a menu of QEdit commands, press <Esc>.  You may then use
  707.     the cursor movement keys to position the cursor bar over the desired
  708.     command.  Pressing <Enter> will execute the command.
  709.  
  710.                                   1-2
  711.  
  712.  
  713.                                        ┌─────────────────────────────────┐
  714.                                        │ QEdit Tip:                      │
  715.                                        │   Pressing <Esc> will abort     │
  716.                                        │   any editor prompt.            │
  717.                                        └─────────────────────────────────┘
  718.  
  719.  
  720.     Getting Out
  721.  
  722.     The easiest way to get out of QEdit and save all the work you have
  723.     done is to enter <Alt F> <G>.
  724.  
  725.  
  726.     Menus
  727.     ─────────────────────────────────────────────────────────────────────────
  728.  
  729.     QEdit provides an easy-to-use "Pop-Down" style menu system.  The
  730.     menu system is very helpful while learning to use the editor.  It is
  731.     also handy for executing seldom used commands.
  732.  
  733.     To access the menus and execute a command:
  734.  
  735.     1.  Press <Esc>.  The main menu will be displayed at the top of
  736.         the screen.  The main menu consists of a list of sub-menu items.
  737.  
  738.     2.  Select a sub-menu item.  You may do this by moving the cursor bar
  739.         to the desired item and pressing <Enter> or by typing the capital
  740.         letter of the desired item.
  741.  
  742.     3.  Execute a command.  This is done in the same manner as selecting
  743.         the sub-menu items.
  744.  
  745.     Here is an example of the "Pop-Down" style menu system.  This User
  746.     is about to execute the "Copy block" command.
  747.  
  748.     ┌─────────────────────────────────────────────────────────────────┐
  749.     │File  Window  Block  Search  Print  Macro  Editing  Other  Quit  │
  750.     └─────────────┬──────────────────┬────────────────────────────────┘
  751.                   │ mark block Begin │
  752.                   │ mark block End   │
  753.                   │▒Copy block▒▒▒▒▒▒▒│
  754.                   │ Move block       │
  755.                   │ Delete block     │
  756.                   │ Unmark           │
  757.                   │ mark Line        │
  758.                   └──────────────────┘
  759.  
  760.     You can execute many QEdit commands using the menus.  As you become
  761.     more familiar with the editor, you may wish to use the <Ctrl>,
  762.     <Alt>, and function keys, instead of the menus, to execute commands
  763.     more quickly.  A cross reference of all QEdit commands can be found
  764.     in Appendix A.
  765.  
  766.                                   1-3
  767.  
  768.  
  769.  
  770.     The Status Line
  771.     ─────────────────────────────────────────────────────────────────────────
  772.  
  773.     At the top of the editing screen is the Status Line.  The Status
  774.     Line constantly displays information regarding the file you are
  775.     currently editing.
  776.  
  777.     The Status Line is shown below with a description of the information
  778.     displayed.
  779.  
  780.     ┌──────────────────────────────────────────────────────────────────────┐
  781.     │L 15   C 15   IAW R B  411K     *c:\qedit\qedit.doc                   │
  782.     └──┬──────┬────┬┬┬─┬─┬───┬───────┬───────┬─────────────────────────────┘
  783.        │      │    │││ │ │   │       │       │
  784.        │      │    │││ │ │   │       │       └──── The path and name of the
  785.        │      │    │││ │ │   │       │             file you are editing
  786.        │      │    │││ │ │   │       │
  787.        │      │    │││ │ │   │       └──── *) Indicates file has been changed
  788.        │      │    │││ │ │   │
  789.        │      │    │││ │ │   └──── Amount of available memory
  790.        │      │    │││ │ │
  791.        │      │    │││ │ └──── B) Indicates Box Drawing mode is ON
  792.        │      │    │││ │
  793.        │      │    │││ └──── R) Indicates macro recording is ON
  794.        │      │    │││
  795.        │      │    ││└──── W) Indicates WordWrap mode is ON
  796.        │      │    ││
  797.        │      │    │└──── A) Indicates AutoIndent mode is ON
  798.        │      │    │
  799.        │      │    └──── I) Indicates Insert mode is ON
  800.        │      │
  801.        │      └──── The current cursor column number
  802.        │
  803.        └──── The current cursor line number
  804.  
  805.  
  806.     For more information on Insert, AutoIndent, WordWrap, and Box
  807.     Drawing, refer to the "Modes" section in this chapter. For more
  808.     information on macro recording, refer to the "Macros" section in
  809.     this chapter.
  810.  
  811.                                        ┌─────────────────────────────────┐
  812.                                        │ QEdit Tip:                      │
  813.                                        │   The Status Line may be config-│
  814.                                        │   ured to appear at the bottom  │
  815.                                        │   of the screen.  Refer to the  │
  816.                                        │   "Colors/Screen Options"       │
  817.                                        │   section of Chapter 2 for more │
  818.                                        │   information.                  │
  819.                                        └─────────────────────────────────┘
  820.  
  821.                                   1-4
  822.  
  823.  
  824.  
  825.     Files
  826.     ─────────────────────────────────────────────────────────────────────────
  827.  
  828.     Creating New Files
  829.  
  830.     There are three different ways to create new files, ready for editing.
  831.  
  832.     1. From the DOS command line, enter <Q> followed by one or more new
  833.        filenames.  Each filename must be separated by a space. For
  834.        example, typing:
  835.  
  836.                    "Q file1 b:file2 \dir1\file3 <Enter>"
  837.  
  838.        will create "file1" in the current directory, "file2" on disk
  839.        drive B, and "file3" in the directory "dir1".
  840.  
  841.                                        ┌─────────────────────────────────┐
  842.                                        │ QEdit Tip:                      │
  843.                                        │   When specifying file names    │
  844.                                        │   to QEdit, you may use full    │
  845.                                        │   path designations if desired. │
  846.                                        └─────────────────────────────────┘
  847.  
  848.     2. From the DOS command line, type "Q <Enter>".  QEdit will
  849.        respond with the prompt:
  850.  
  851.        ┌─────────────────────────────────────────────────────────────────┐
  852.        │  File(s) to edit: <Esc = abort>                                 │
  853.        │                                                                 │
  854.        └─────────────────────────────────────────────────────────────────┘
  855.  
  856.        Enter one or more new filenames, each separated by a space.
  857.  
  858.     3. From within the editor, enter the EditFile <Alt E> command. The
  859.        above prompt will appear.  Again, you may enter one or more new
  860.        filenames, each separated by a space.
  861.  
  862.  
  863.     Loading Existing Files
  864.  
  865.     Loading existing files works exactly like creating new files (in the
  866.     previous section) with two exceptions:
  867.  
  868.     ■ The filename(s) specified must exist on disk.
  869.  
  870.     ■ The filename(s) may contain wildcard characters (*, ?).
  871.  
  872.     QEdit can be configured to respond to wildcarded filename entries in
  873.     one of two ways:
  874.  
  875.     1. Load all matching files into the editor.
  876.  
  877.                                   1-5
  878.  
  879.  
  880.     2. Show all the matching filenames in a "pick" listing. You can then
  881.        use the cursor keys to find the file you want and press <Enter>
  882.        to load it into the editor.
  883.  
  884.     QEdit can also be configured to use default file extensions, such as
  885.     "doc" and "pas" when entering filenames.  For more information on
  886.     configuring these options, refer to the "General Options" section of
  887.     Chapter 2.
  888.  
  889.  
  890.     Multiple Files: The Ring
  891.  
  892.     QEdit is a true multi-file editor.  It allows as many files as will
  893.     fit into memory to be loaded at the same time.  All of these files
  894.     can then be edited by simply switching back and forth between them
  895.     without having to save and load each file individually. Switching
  896.     between files is accomplished very quickly and easily.
  897.  
  898.     A simple explanation of how QEdit handles multiple files will help
  899.     you in manipulating and editing multiple files.
  900.  
  901.     QEdit maintains all loaded files in a "ring".  As we describe each
  902.     of the commands used to manipulate the files in the ring, refer to
  903.     the illustration below.
  904.  
  905.     ┌──────────────────────────────────────────────────────────────┐
  906.     │              ┌────┐              ┌────┐                      │
  907.     │              │    │              │▒▒▒▒│                      │
  908.     │      ┌─────> │ A  │ <───<Ctrl KP>│▒B▒▒│<Alt N>               │
  909.     │      │       │    │              │▒▒▒▒│      │               │
  910.     │      │       └────┘              └────┘      │               │
  911.     │      v         ^                 <Alt E>     v               │
  912.     │    ┌────┐      │                   │       ┌────┐            │
  913.     │    │    │      │                   │       │    │            │
  914.     │    │ F  │ <────┼───────────────────┼─────> │ C  │            │
  915.     │    │    │      │                   │       │    │            │
  916.     │    └────┘      │                   │       └────┘            │
  917.     │      ^         v                   v         ^               │
  918.     │      │       ┌────┐              ┌────┐      │               │
  919.     │      │       │    │              │    │      │               │
  920.     │      └─────> │ E  │ <──────────> │ D  │ <────┘               │
  921.     │              │    │              │    │                      │
  922.     │              └────┘              └────┘                      │
  923.     │                                                              │
  924.     │                      The "Ring"                              │
  925.     └──────────────────────────────────────────────────────────────┘
  926.  
  927.     In the ring we see that six files have been loaded into the editor.
  928.     You can, of course, load many more files - as many as your
  929.     computer's memory will allow.
  930.  
  931.                                   1-6
  932.  
  933.  
  934.     Assume the file currently being edited is file "B".  You may then
  935.     move from one file to another in any of the following ways:
  936.  
  937.     ■ Enter the NextFile <Alt N> command.
  938.       You will now be editing the next file in the ring, file "C".
  939.  
  940.     ■ Enter the PrevFile <Ctrl KP> command.
  941.       You will now be editing the previous file in the ring, file "A".
  942.  
  943.     ■ Enter the EditFile <Alt E> command.
  944.       The editor will prompt for a filename.  You may enter the name of
  945.       any file in the ring.  The editor will make the entered file the
  946.       current one for editing.
  947.  
  948.     You may, at any time, add files to the ring or discard files from
  949.     the ring.  If you add a new file to the ring using the EditFile
  950.     command, it will become the current file and the old current file
  951.     will become the previous file.  If you delete a file from the ring
  952.     the previous file will become the current file.
  953.                                                                            
  954.                                        ┌─────────────────────────────────┐
  955.                                        │ QEdit Tip:                      │
  956.                                        │   When loading files, be aware  │
  957.                                        │   that QEdit will not load two  │
  958.                                        │   copies of the same file.  If  │
  959.                                        │   you issue the EditFile command│
  960.                                        │   for a file already loaded,    │
  961.                                        │   that file will become the     │
  962.                                        │   new current file.             │
  963.                                        └─────────────────────────────────┘
  964.  
  965.                                   1-7
  966.  
  967.  
  968.  
  969.     Saving Files and Exiting
  970.  
  971.     QEdit provides several different ways to save files, discard files,
  972.     and exit the editor.  A set of five basic commands provides assorted
  973.     combinations of saving, discarding, and exiting in order to suit
  974.     individual preferences.
  975.  
  976.     We recommend selecting one or two methods with which you feel most
  977.     comfortable and using them consistently.
  978.  
  979.     The table below summarizes these commands and their effects.
  980.  
  981. ┌──────────────────────────────────────────────────────────────────────────────┐
  982. │Command for Single        Command for Multiple                                │
  983. │File or Current File      Files                                               │
  984. │--------------------      --------------------                                │
  985. │Exit      <Ctrl KD>       GExit     <Alt X>                X         X    X(a)│
  986. │                                                                              │
  987. │File      <Ctrl KX>       GFile     <Alt F><G>        X              X    X(a)│
  988. │                                                                              │
  989. │PQuit     <Ctrl KQ>       GPQuit    <Alt Q><Q>                  X    X    X(a)│
  990. │                                                                              │
  991. │Quit (b)                                                             X    X   │
  992. │                                                                              │
  993. │SaveFile  <Ctrl KS>       GSave     <Alt Y>           X                       │
  994. │                                                                              │
  995. │                                                      │    │    │    │    │   │
  996. │         Edited File(s) are Saved Unconditionally  ───┘    │    │    │    │   │
  997. │                                                           │    │    │    │   │
  998. │             User Prompted to Save Edited Files (Y/N)  ────┘    │    │    │   │
  999. │                                                                │    │    │   │
  1000. │                User Warned That File Changes May Be Lost  ─────┘    │    │   │
  1001. │                                                                     │    │   │
  1002. │                            File(s) are Discarded From Editor  ──────┘    │   │
  1003. │                                                                          │   │
  1004. │                                         The Editor is Terminated  ───────┘   │
  1005. │                                                                              │
  1006. │    (a) The Exit, File, and PQuit commands can be configured to terminate     │
  1007. │        or not terminate the editor.  Refer to the "General Options" section  │
  1008. │        of Chapter 2 for more information.                                    │
  1009. │                                                                              │
  1010. │    (b) USE WITH CAUTION!                                                     │
  1011. └──────────────────────────────────────────────────────────────────────────────┘
  1012.  
  1013.                                   1-8
  1014.  
  1015.  
  1016.     Viewing and Getting Around in the Text
  1017.     ─────────────────────────────────────────────────────────────────────────
  1018.  
  1019.     QEdit is quite versatile in allowing you to move around in the text.
  1020.     With simple keystrokes you can either move a few characters or lines
  1021.     at a time or move from one end of the file to another.  You can go
  1022.     to specific lines in the file or go to each occurrence of a
  1023.     particular string of characters.  And with QEdit's windows, you can
  1024.     view up to eight files at a time or have multiple views of the same
  1025.     file.
  1026.  
  1027.     As you will see, there are quite a few commands in QEdit for moving
  1028.     around in your text.  If you are not already familiar with these
  1029.     types of commands, try them out.  You will probably find some new
  1030.     commands that will be useful for your applications of QEdit.
  1031.  
  1032.  
  1033.     Cursor Movement
  1034.     ─────────────────────────────────────────────────────────────────────────
  1035.  
  1036.     Moving Through a File
  1037.  
  1038.     QEdit provides several commands which enable you to move about in a
  1039.     file.
  1040.  
  1041.     ■ BegFile <Ctrl PgUp> and EndFile <Ctrl PgDn>
  1042.       As their names imply, these commands move the cursor to the
  1043.       beginning or end of the current file.  BegFile positions the
  1044.       cursor at column one on the first line of the file.  EndFile
  1045.       positions the cursor after the last non-blank character on the
  1046.       last line of the file.
  1047.  
  1048.     ■ PageUp <PgUp> and PageDown <PgDn>
  1049.       PageUp scrolls the text toward the top of the file, one page-full,
  1050.       less one line, at a time.  PageDown scrolls the text toward the
  1051.       end of the file, one page-full, less one line, at a time.
  1052.  
  1053.     ■ HalfPgUp and HalfPgDn
  1054.       These commands work exactly like the PageUp and PageDown commands,
  1055.       except that they scroll only one-half page at a time.
  1056.  
  1057.                                        ┌─────────────────────────────────┐
  1058.                                        │ QEdit Tip:                      │
  1059.                                        │   All QEdit commands, including │
  1060.                                        │   those without default key     │
  1061.                                        │   assignments, can be assigned  │
  1062.                                        │   as the user desires, to       │
  1063.                                        │   almost any key.  Refer to     │
  1064.                                        │   the "Keyboard Configuration"  │
  1065.                                        │   section of Chapter 2 for more │
  1066.                                        │   information.                  │
  1067.                                        └─────────────────────────────────┘
  1068.  
  1069.                                   1-9
  1070.  
  1071.  
  1072.  
  1073.     ■ ScrollUp <Ctrl W> and LineUp <Ctrl E>
  1074.       These commands scroll the text one line at a time toward the
  1075.       beginning of the file.
  1076.  
  1077.       The ScrollUp command will cause the cursor to remain on the same
  1078.       line of text until it reaches the bottom of the screen, while the
  1079.       LineUp command will cause the cursor to remain stationary on the
  1080.       screen.
  1081.  
  1082.     ■ ScrollDown <Ctrl Z> and LineDown <Ctrl X>
  1083.       These commands scroll the text one line at a time toward the end
  1084.       of the file.
  1085.  
  1086.       The ScrollDown command will cause the cursor to remain on the same
  1087.       line of text until it reaches the top of the screen, while the
  1088.       LineDown command will cause the cursor to remain stationary on the
  1089.       screen.
  1090.  
  1091.     ■ GotoLine <Ctrl J>
  1092.       Upon entering the GotoLine command, QEdit will prompt with:
  1093.  
  1094.       ┌──────────────────────────┐
  1095.       │line number: <Esc = abort>│
  1096.       │                          │
  1097.       └──────────────────────────┘
  1098.  
  1099.       By typing a line number and <Enter>, QEdit will "jump" the
  1100.       cursor to the specified line number.  An easy way to move about
  1101.       quickly in your text is to keep track of critical positions by
  1102.       noting their line number, which is displayed on the Status Line,
  1103.       and then using this command to "jump" to those positions.
  1104.  
  1105.  
  1106.     ■ GotoBlockBeg <Ctrl QB> and GotoBlockEnd <Ctrl QK>
  1107.       These commands move the cursor to the beginning or to the end of
  1108.       the currently marked Block.  If the marked Block is in another
  1109.       file, QEdit will make that file the current file and then move you
  1110.       to the beginning or end of the Block.  For more information on
  1111.       using marked Blocks, refer to the "Block Commands" section in this
  1112.       chapter.
  1113.  
  1114.     ■ PrevPosition <Ctrl QP>
  1115.       This command can come in very handy.  It moves you to the cursor's
  1116.       previous position.  Although it would not be of much use if you
  1117.       had only moved a character or two, it can be useful for larger
  1118.       jumps of the cursor.
  1119.  
  1120.       For example, perhaps you are in the middle of a file and want to
  1121.       check something at the very beginning of the file.  To get to the
  1122.       beginning, you would simply enter BegFile <Ctrl PageUp>.  After
  1123.       you look at the beginning, you want to get back to where you were
  1124.       previously.  You could use PageDown, but that could be tedious,
  1125.       especially if your file is large.  The easiest way would be to
  1126.       enter PrevPosition, and with a single keystroke, you are
  1127.       immediately back where you started.  Note: PrevPosition can only
  1128.       take you back to the cursor's immediately previous position.
  1129.  
  1130.                                   1-10
  1131.  
  1132.       If there are intervening keystrokes that move the cursor,
  1133.       PrevPosition will move you back to the most recent location of the
  1134.       cursor.
  1135.  
  1136.     ■ Find <Ctrl QF> and RepeatFind <Ctrl L>
  1137.       These commands will search for a specific string of characters in
  1138.       the file.  Upon entering the Find command, QEdit will prompt for
  1139.       the string of characters for which to search.
  1140.  
  1141.       ┌─────────────────────────────────────────────────────────────────┐
  1142.       │Search for: <Esc = Abort>                                        │
  1143.       │                                                                 │
  1144.       └─────────────────────────────────────────────────────────────────┘
  1145.  
  1146.       Enter the desired string of characters and press <Enter>.
  1147.  
  1148.       QEdit will then prompt for the search options to use.
  1149.  
  1150.       ┌──────────────────────────────────────────────────────┐
  1151.       │Options [IWB] (Ignore, Words, Backward) <Esc = Abort> │
  1152.       │I                                                     │
  1153.       └──────────────────────────────────────────────────────┘
  1154.  
  1155.       Enter the letter(s) corresponding to the option(s) you want and
  1156.       press <Enter>.  The available options are:
  1157.  
  1158.         [I] = Ignore the case (capital or lowercase) of the search
  1159.               string.  For example, "Hello" would match "hello" if this
  1160.               option is chosen.  This option is set ON by default.
  1161.  
  1162.         [W] = Search for whole words only.  For example, when this option
  1163.               is chosen, the word "sent" will match only the actual word
  1164.               "sent".  Otherwise, any other words that contain the
  1165.               string (such as "sentence" or "absent") would also match.
  1166.  
  1167.         [B] = Search backward from the current cursor position.  When you
  1168.               choose "B", QEdit will search backward from the cursor
  1169.               position toward the beginning of the file.  Otherwise, it
  1170.               will search from the cursor position toward the end of the
  1171.               file.
  1172.  
  1173.       Once the Find command is executed the cursor will be placed at the
  1174.       first occurrence of the search string found in the text.  To
  1175.       locate subsequent occurrences of the search string, simply enter
  1176.       the RepeatFind command.
  1177.  
  1178.       If you want to search for a string and replace it with another
  1179.       string, refer to the "Replacing Text" section in this chapter.
  1180.  
  1181.     ■ Match <Alt F3>
  1182.       This is a specialized search command.  It acts only on the
  1183.       characters ( ), { }, and [ ].  With the cursor placed on one of
  1184.       these characters, enter the Match command.  QEdit will locate the
  1185.       logical matching character of the pair.  This command can be
  1186.       useful for programming in languages where complicated expressions
  1187.       are grouped using these characters.
  1188.  
  1189.                                   1-11
  1190.  
  1191.  
  1192.  
  1193.     Moving Around on the Screen
  1194.  
  1195.     These commands affect the cursor position within the current
  1196.     screen of displayed text.
  1197.  
  1198.     ■ BegScreen <Ctrl Home> and EndScreen <Ctrl End>
  1199.       These commands move you to the first or last line of the screen
  1200.       (or current window if you have windows open).  The cursor's column
  1201.       position does not change.
  1202.  
  1203.     ■ BegLine <Home> and EndLine <End>
  1204.       You are probably already familiar with these commands.  BegLine
  1205.       moves the cursor to the beginning, or column one, of the current
  1206.       cursor line. EndLine moves the cursor to the last non-blank
  1207.       character of the current cursor line.
  1208.  
  1209.     ■ ScreenLeft <Alt F5> and ScreenRight <Alt F6>
  1210.       These commands scroll the entire text to the left or right one
  1211.       column at a time.  You can change the number of columns which are
  1212.       shifted each time using the QEdit configuration program.  Refer to
  1213.       the "Colors/Screen Options" section of Chapter 2 for more
  1214.       information.
  1215.  
  1216.     ■ WordLeft <Ctrl Cursor Left> and WordRight <Ctrl Cursor Right>
  1217.       These commands move the cursor to the first character of the
  1218.       previous or following word in the text.
  1219.  
  1220.     ■ MakeCtrofScreen <Shift F5>, MakeTopofScreen <F5>, and MakeBotofScreen
  1221.       These three commands change the position of the cursor line on the
  1222.       screen (or window, if you have windows open).  They can be useful
  1223.       if you prefer to work at the bottom or top of the screen or if
  1224.       you want to keep the text surrounding your cursor line in view.
  1225.  
  1226.       The MakeCtrofScreen command scrolls the text on the screen (either
  1227.       up or down) until the cursor line is the center line of the
  1228.       screen.
  1229.  
  1230.       The MakeTopofScreen command scrolls the text upward until the
  1231.       cursor line is the top line of the screen.
  1232.  
  1233.       The MakeBotofScreen command scrolls the text downward until the
  1234.       cursor line is the last line of the screen.
  1235.  
  1236.                                   1-12
  1237.  
  1238.  
  1239.     Moving By Lines and Characters
  1240.  
  1241.     These commands enable you to move in short increments through the
  1242.     text.
  1243.  
  1244.     ■ CursorLeft <Cursor Left> and CursorRight <Cursor Right>
  1245.       These commands move the cursor one column to the right or left on
  1246.       the cursor line.
  1247.  
  1248.       When you use CursorLeft, the cursor will stop when it reaches the
  1249.       left edge of the screen, unless the text has been scrolled to the
  1250.       left.  In that case it scrolls the text to the right one column at
  1251.       a time until it reaches column one.
  1252.  
  1253.       When you use CursorRight and the cursor reaches the right edge of
  1254.       the screen, it will begin to scroll the text to the left.  It will
  1255.       stop scrolling when it reaches the maximum line length.
  1256.  
  1257.     ■ CursorUp <Cursor Up> and CursorDown <Cursor Down>
  1258.       These commands move the cursor up or down in the file one line at
  1259.       a time.  The cursor's column position does not change.
  1260.  
  1261.  
  1262.     Using Windows
  1263.     ─────────────────────────────────────────────────────────────────────────
  1264.  
  1265.     QEdit provides the ability to view different areas of files (either
  1266.     multiple files or the same file) at the same time, through the use
  1267.     of windows.  A window is a portion of the screen that allows you to
  1268.     view text.  You can divide your screen into as many as eight
  1269.     horizontal windows.  You can then view as many as eight different
  1270.     files through these windows or have multiple views of a single
  1271.     file. This capability can be quite helpful for comparing text,
  1272.     copying text, and moving text.
  1273.  
  1274.     An example of a screen split into three windows is shown below.
  1275.  
  1276.     ┌──────────────────────────────────────────────────────────────────────┐
  1277.     │ L 1    C 1    IAW         411K     *c:\file1                         │
  1278.     │                                                                      │
  1279.     │ This window is a view of file number 1 at line number 1.             │
  1280.     │ This file is being edited with Insert, AutoIndent, and WordWrap      │
  1281.     │ modes all ON.  This file has been updated.                           │
  1282.     │                                                                      │
  1283.     │                                                                      │
  1284.     │ L 483  C 12   IAW         411K     *c:\file1                         │
  1285.     │                                                                      │
  1286.     │ This window is a view of file number 1 at line number 483.           │
  1287.     │                                                                      │
  1288.     │                                                                      │
  1289.     │ L 15   C 15   I           411K      c:\file2                         │
  1290.     │               ▄                                                      │
  1291.     │ This window is a view of file number 2.                              │
  1292.     │ This file is being edited with Insert mode ON, while AutoIndent and  │
  1293.     │ WordWrap modes are OFF.  This file has not been updated.             │
  1294.     │                                                                      │
  1295.     └──────────────────────────────────────────────────────────────────────┘
  1296.  
  1297.                                   1-13
  1298.  
  1299.  
  1300.  
  1301.     Creating Windows
  1302.  
  1303.     To create a window, use the HorizontalWindow <Ctrl OH> command. The
  1304.     screen will be split into two halves, or windows, each window having
  1305.     its own Status Line.  The cursor will reside in the newly created
  1306.     window, making it the current window.
  1307.  
  1308.     If only one file is being edited, the newly created window will
  1309.     simply be an additional view of the same file.  QEdit will not load
  1310.     more than one copy of the same file.
  1311.  
  1312.     If multiple files are being edited, the newly created window will be
  1313.     a view of the next file in the ring.  (Refer to the "Multiple Files"
  1314.     section in this chapter.)  If desired, you can configure QEdit to
  1315.     prompt for the name of the file to be viewed in the new window
  1316.     instead of the editor automatically selecting the next file in the
  1317.     ring.  Refer to the "General Options" section of Chapter 2 for more
  1318.     information.
  1319.  
  1320.     Once the screen has been split into windows, entering the
  1321.     HorizontalWindow command again will affect the current window. All
  1322.     other windows will remain unchanged.
  1323.  
  1324.  
  1325.     Switching Windows
  1326.  
  1327.     When multiple windows are opened, editing will only take place in
  1328.     the current window (the window containing the cursor).  For editing
  1329.     text in other windows, two commands are provided to switch from one
  1330.     window to another.
  1331.  
  1332.     ■ The PrevWindow <Ctrl OP> command will move the cursor to the
  1333.       window above the current window.  If the current window is at the
  1334.       top of the screen, the cursor will move to the last window on the
  1335.       screen.
  1336.  
  1337.     ■ The NextWindow <Ctrl ON> command will move the cursor to the
  1338.       window below the current window.  If the current window is at the
  1339.       bottom of the screen, the cursor will move to the first window on
  1340.       the screen.
  1341.  
  1342.  
  1343.     Changing Window Size
  1344.  
  1345.     You can change the size of any of the windows on the screen with the
  1346.     commands below. 
  1347.  
  1348.     ■ The GrowWindow <Ctrl OG> command allows you to increase the size
  1349.       of the current window.  Upon entering this command, QEdit will
  1350.       prompt you to increase the size of the window by using the cursor
  1351.       up and cursor down keys.  The cursor up key will increase the size
  1352.       of the current window one line at a time toward the top of the
  1353.       screen.  The cursor down key will increase the size of the current
  1354.       window one line at a time toward the bottom of the screen.
  1355.  
  1356.                                   1-14
  1357.  
  1358.  
  1359.     ■ The ShrinkWindow <Ctrl OS> command allows you to decrease the size
  1360.       of the current window.   A window can be as small as 3 lines,
  1361.       including its Status Line.  Upon entering this command, QEdit will
  1362.       prompt you to decrease the size of the window by using the cursor
  1363.       up and cursor down keys.  The cursor up key will decrease the size
  1364.       of the current window one line at a time by moving the bottom of
  1365.       the window toward the top of the screen.  The cursor down key will
  1366.       decrease the size of the current window one line at a time by
  1367.       moving the top of the window toward the bottom of the screen.
  1368.  
  1369.                                        ┌─────────────────────────────────┐
  1370.                                        │ QEdit Tip:                      │
  1371.                                        │   The GrowWindow and Shrink-    │
  1372.                                        │   Window commands may be entered│
  1373.                                        │   successively, without pressing│
  1374.                                        │   <Esc> in between.             │
  1375.                                        └─────────────────────────────────┘
  1376.  
  1377.  
  1378.     ■ The ZoomWindow <Ctrl OZ> command will cause the current window to
  1379.       fill the entire screen, as all other windows disappear.  To
  1380.       restore the screen with all windows, simply press <Ctrl OZ> again.
  1381.       Be careful not to confuse this command with the OneWindow command
  1382.       (see below).  OneWindow fills the screen with the current window
  1383.       (like ZoomWindow does), but it also closes all windows except the
  1384.       current one.  ZoomWindow leaves the other windows intact, even
  1385.       though they are hidden from view.
  1386.  
  1387.  
  1388.     Closing Windows
  1389.  
  1390.     There are two commands to close windows.
  1391.  
  1392.     ■ The CloseWindow <Ctrl OC> command closes the current window.  The
  1393.       current window will disappear and the cursor will be placed in the
  1394.       window above the closed window, making it the new current window.
  1395.       When the closed window is at the top of the screen, the window
  1396.       below the closed window will become the new current window.
  1397.  
  1398.     ■ The OneWindow <Ctrl OO> command closes all windows except the
  1399.       current window.  The current window will fill the entire screen.
  1400.  
  1401.     Note that closing a window does not discard files from the
  1402.     editor.
  1403.  
  1404.                                   1-15
  1405.  
  1406.  
  1407.  
  1408.     Copying, Moving, Replacing, and Deleting Text
  1409.     ─────────────────────────────────────────────────────────────────────────
  1410.  
  1411.  
  1412.     Block Commands
  1413.     ─────────────────────────────────────────────────────────────────────────
  1414.  
  1415.     In this section, we will see how to mark and manipulate Blocks.  A
  1416.     Block is some portion of the text file which has been specifically
  1417.     delineated using QEdit's Block marking commands.  We will see how to
  1418.     manipulate Blocks both directly and through the use of intermediate
  1419.     storage areas known as buffers.
  1420.  
  1421.     QEdit contains a rich set of Block commands.  There are commands to
  1422.     mark whole lines or an arbitrary "stream" of characters.  There are
  1423.     commands to copy, move, shift, and delete Blocks.  These commands
  1424.     are very useful for transferring text from one file to another.
  1425.     There are also cut-and-paste commands, as well as commands to move
  1426.     Blocks to and from named Scratch Buffers.
  1427.  
  1428.  
  1429.     Marking and Unmarking a Block
  1430.  
  1431.     Before you can manipulate a Block, you must first "mark" or outline
  1432.     a Block.  There are three ways of marking a Block in QEdit.  The one
  1433.     you choose will depend on the editing situation and what you find
  1434.     most comfortable to use.
  1435.  
  1436.     ■ MarkLine <Alt L>
  1437.       This command allows you to mark a Block in whole line increments.
  1438.       In other words, the Block will contain complete lines only and no
  1439.       portions of lines.  To use this command place the cursor anywhere
  1440.       on the first line of the text you wish to mark and press <Alt L>.
  1441.       (Notice that the line is immediately marked.)  Now, move the
  1442.       cursor (the Block will "follow" the cursor) to the last line of
  1443.       text to be marked and press <Alt L> again.  You now have a marked
  1444.       Block, ready for manipulation.
  1445.  
  1446.  
  1447.     ■ DropAnchor <Alt A>
  1448.       This command allows you to mark a Block one character at a time.
  1449.       In other words, the Block will contain a stream of characters
  1450.       (which can span over multiple lines).  To use this command place
  1451.       the cursor over the first character of the text you wish to mark
  1452.       and press <Alt A>.  Then begin moving the cursor toward the end of
  1453.       the text to be marked.  Notice that the Block "follows" the cursor
  1454.       position.  Once the cursor is placed over the last character to be
  1455.       marked, press <Alt A> again.  You now have a marked Block, ready
  1456.       for manipulation.
  1457.  
  1458.                                   1-16
  1459.  
  1460.                                        ┌─────────────────────────────────┐
  1461.                                        │ QEdit Tip:                      │
  1462.                                        │   When using the MarkLine and   │
  1463.                                        │   DropAnchor commands, it is not│
  1464.                                        │   necessary to mark the end of  │
  1465.                                        │   the Block.  QEdit will assume │
  1466.                                        │   the end of the Block to be the│
  1467.                                        │   current cursor position for   │
  1468.                                        │   DropAnchor and the current    │
  1469.                                        │   cursor line for MarkLine.     │
  1470.                                        │   Marking the end of the Block  │
  1471.                                        │   is only necessary when moving │
  1472.                                        │   or copying text within the    │
  1473.                                        │   same file.                    │
  1474.                                        └─────────────────────────────────┘
  1475.  
  1476.     ■ MarkBlockBegin <Ctrl KB> and MarkBlockEnd <Ctrl KK>
  1477.       This is another method of marking a Block one character at a time.
  1478.       To mark a Block with this command, place the cursor over the first
  1479.       character of the text you wish to mark and press <Ctrl KB>.  Then
  1480.       position the cursor one character past the end of the text that is
  1481.       to be marked and press <Ctrl KK>.  The Block is now marked and
  1482.       ready for manipulation.
  1483.  
  1484.     ■ UnmarkBlock <Alt U>
  1485.       Entering the UnmarkBlock command causes the currently marked Block
  1486.       to be unmarked.
  1487.  
  1488.     QEdit allows you to mark one Block at a time.  If you mark a Block
  1489.     and then go elsewhere in the file and attempt to mark another Block,
  1490.     QEdit will simply extend the first Block by including all the text
  1491.     between the original Block and the current cursor position.  If you
  1492.     mark a Block in one file and then go to another file and mark a
  1493.     Block, QEdit will automatically unmark the Block in the first file.
  1494.  
  1495.     Also, if you mix types of Block marking, by entering MarkLine
  1496.     followed by DropAnchor or vice-versa, QEdit will mark the Block
  1497.     according to the last command entered.
  1498.  
  1499.     Manipulating Blocks Directly
  1500.  
  1501.     QEdit provides several ways to manipulate a marked Block. The
  1502.     following commands act directly on a marked Block.
  1503.  
  1504.                                        ┌─────────────────────────────────┐
  1505.                                        │ QEdit Tip:                      │
  1506.                                        │   When Copying or Moving Blocks:│
  1507.                                        │                                 │
  1508.                                        │   Blocks marked using the Drop- │
  1509.                                        │   Anchor and MarkBlockBegin/End │
  1510.                                        │   commands will always be       │
  1511.                                        │   inserted beginning at the     │
  1512.                                        │   current cursor position.      │
  1513.                                        │                                 │
  1514.                                        │   Blocks marked using the Mark- │
  1515.                                        │   Line command will be inserted │
  1516.                                        │   at either the line before or  │
  1517.                                        │   the line after the current    │
  1518.                                        │   cursor line.  Refer to the    │
  1519.                                        │   "General Options" section of  │
  1520.                                        │   Chapter 2 for more            │
  1521.                                        │   information.                  │
  1522.                                        └─────────────────────────────────┘
  1523.                                   1-17
  1524.  
  1525.  
  1526.  
  1527.     ■ CopyBlock <Alt C>
  1528.       This command makes a copy of the marked Block and inserts it where
  1529.       you decide.  You can insert this copy of the Block at some other
  1530.       place in the same file or in another file.  The original Block of
  1531.       text, from which you made the copy, is not affected.
  1532.  
  1533.       To use this command, first mark the Block as described above.
  1534.       Next, move the cursor to the position in the file where you wish
  1535.       to insert the marked text.  (Or, if you have multiple files loaded
  1536.       and wish to copy text from one file to another, use the NextFile,
  1537.       PrevFile or EditFile commands to get a new current file and
  1538.       likewise position the cursor.)  Now enter the CopyBlock <Alt C>
  1539.       command.  The Block will be inserted at the new position.  You may
  1540.       notice, after you use CopyBlock, that the newly inserted Block of
  1541.       text is now marked and the original Block is unmarked.  To unmark
  1542.       the copied Block, enter the UnmarkBlock command.
  1543.  
  1544.       QEdit provides an easy method for copying the same Block
  1545.       repeatedly. Refer to the Copy and Paste commands in the following
  1546.       section for more information.
  1547.  
  1548.  
  1549.     ■ MoveBlock <Alt M>
  1550.       This command works exactly like CopyBlock with one exception: Upon
  1551.       entering the MoveBlock <Alt M> command, the originally marked
  1552.       Block is deleted from the file.
  1553.  
  1554.       As with the CopyBlock command, you can move a Block to another
  1555.       part of the same file or from one file to another.
  1556.  
  1557.       QEdit provides an easy method for deleting a Block from its
  1558.       original position and inserting it repeatedly at other positions.
  1559.       Refer to the Cut and Paste commands in the following section for
  1560.       more information.
  1561.  
  1562.  
  1563.     ■ DeleteBlock <Alt G>.
  1564.       This command simply deletes a marked Block of text from the file.
  1565.       To use this command, first mark a Block of text to be deleted,
  1566.       then enter the DeleteBlock command.  The marked text will be
  1567.       deleted from the file.  (Deleted Blocks will be placed in the Kill
  1568.       buffer. Refer to "The Kill Buffer" section in this chapter for
  1569.       more information.)
  1570.  
  1571.                                   1-18
  1572.  
  1573.  
  1574.  
  1575.     ■ ShiftLeft <Shift F7> and ShiftRight <Shift F8>
  1576.       These commands allow the User to shift text contained in a Block
  1577.       to the left or right. To use these commands, first mark a Block.
  1578.       Now enter ShiftLeft or ShiftRight.  The entire marked Block of
  1579.       text will be shifted one column to the left or right respectively.
  1580.       If there is no marked Block of text or the cursor is outside of
  1581.       the marked Block, the current cursor line will be shifted. This
  1582.       command is very useful for changing indentation for portions of
  1583.       text or source code.
  1584.  
  1585.  
  1586.     Manipulating Blocks Using Scrap Buffers
  1587.  
  1588.     QEdit provides an extremely helpful device for quickly manipulating
  1589.     Blocks of text.  This device consists of a Scrap Buffer and three
  1590.     QEdit commands which act on the Scrap Buffer.
  1591.  
  1592.     The Scrap Buffer is a temporary holding area for marked Blocks of
  1593.     text.  The commands Cut, Copy, and Paste are solely responsible for
  1594.     placing text into the Scrap Buffer and copying text from the Scrap
  1595.     Buffer.
  1596.  
  1597.     When you issue a Copy or Cut command (we will discuss how to use
  1598.     these in the following section ), the marked Block is placed into
  1599.     the Scrap Buffer.  The next time you Copy or Cut a Block into the
  1600.     Scrap Buffer, the previous contents of the Scrap Buffer are deleted
  1601.     and replaced with the new Block.
  1602.  
  1603.     You can repeatedly use the Paste command as many times as needed
  1604.     to insert a copy of the Block held in the Scrap Buffer at multiple
  1605.     positions in your file or files.  The Paste command does not purge
  1606.     the contents of the Scrap Buffer.
  1607.  
  1608.  
  1609.  
  1610.     ■ Copy <grey +> and Paste <grey *>
  1611.       To copy a section of text from its present position and insert it
  1612.       somewhere else:
  1613.  
  1614.       1. Mark the text using the Block marking commands.
  1615.  
  1616.       2. Enter Copy <grey +>.  This places a copy of the marked text
  1617.          into the Scrap Buffer.
  1618.  
  1619.       3. If you want to insert the text somewhere else within the same
  1620.          file, use the cursor movement commands to place the cursor
  1621.          where you wish to insert the text.
  1622.  
  1623.       4. If you want to insert the text in another file, switch to that
  1624.          file using the NextFile, PrevFile, or EditFile command to
  1625.          access that file.  Then, likewise place the cursor at the
  1626.          desired position.
  1627.  
  1628.                                   1-19
  1629.  
  1630.  
  1631.       5. Enter Paste <grey *> to insert the text.
  1632.  
  1633.       Since Paste leaves the contents of the Scrap Buffer intact, you
  1634.       can make multiple insertions in the same or different files.
  1635.       Simply move the cursor to the file and position where you wish to
  1636.       make additional insertions and enter Paste <grey *>.  Please note
  1637.       that the next time you issue a Cut or Copy command, the previous
  1638.       contents of the Scrap Buffer will be discarded.
  1639.  
  1640.  
  1641.     ■ Cut <grey -> and Paste <grey *>
  1642.       Cut and Paste work exactly like Copy and Paste except that Cut
  1643.       will delete the marked Block from the file.  You can still make
  1644.       multiple insertions of the text using the Paste Command.
  1645.  
  1646.                                        ┌─────────────────────────────────┐
  1647.                                        │ QEdit Tip:                      │
  1648.                                        │   QEdit can be configured to    │
  1649.                                        │   have the Cut and Copy commands│
  1650.                                        │   act on the current cursor line│
  1651.                                        │   if no Block is marked.        │
  1652.                                        │   Refer to the "Advanced        │
  1653.                                        │   Options" section of Chapter 2 │
  1654.                                        │   for more information.         │
  1655.                                        └─────────────────────────────────┘
  1656.  
  1657.  
  1658.     Manipulating Blocks Using Scratch Buffers
  1659.  
  1660.     A Scratch Buffer is a special type of buffer to which you assign a
  1661.     name.  QEdit allows you to create and name up to 99 Scratch Buffers
  1662.     for each editing session.  These can be useful if you have several
  1663.     different Blocks of text that you want to insert in multiple
  1664.     locations.  The commands StoreScrbuff <Ctrl BS>, AppendScrbuff
  1665.     <Ctrl BA>, and GetScrbuff <Ctrl BL> are used to place text in, and
  1666.     retrieve text from, a Scratch Buffer.  Whenever you issue one of
  1667.     these commands, QEdit will ask you for the name of the Scratch
  1668.     Buffer.  The contents of all Scratch Buffers are discarded when the
  1669.     editor is terminated.
  1670.  
  1671.     ■ StoreScrbuff <Ctrl BS> and AppendScrbuff <Ctrl BA>
  1672.  
  1673.       To place a Block of text into a named buffer:
  1674.  
  1675.       1. Mark the Block.
  1676.  
  1677.       2. If you want to create a new Scratch Buffer containing the
  1678.          marked Block, enter StoreScrbuff <Ctrl BS>.  (This command is
  1679.          also used if you wish to replace the current contents of a
  1680.          Scratch Buffer with the marked Block.)  If you want to append
  1681.          the marked Block to the current contents of the Scratch Buffer,
  1682.          enter AppendScrbuff <Ctrl BA>.
  1683.  
  1684.                                   1-20
  1685.  
  1686.  
  1687.       3. QEdit will prompt for the name of the Scratch Buffer.
  1688.  
  1689.          ┌─────────────────────────────────────────────────────────────────┐
  1690.          │Store (Append) to buffer: <Esc = abort>                          │
  1691.          │                                                                 │
  1692.          └─────────────────────────────────────────────────────────────────┘
  1693.  
  1694.       4. Enter a name.  It is best to use a name which reflects the
  1695.          contents of the buffer and is easily remembered.
  1696.  
  1697.       The Block is now stored in a Scratch Buffer under the assigned
  1698.       name.
  1699.  
  1700.       ■ GetScrbuff <Ctrl BL>
  1701.         To retrieve the contents of a named Scratch Buffer and insert it
  1702.         at the current cursor position:
  1703.  
  1704.         1. Position the cursor where you wish the contents of the named
  1705.            Scratch Buffer to be inserted.
  1706.  
  1707.         2. Enter GetScrbuff <Ctrl BL>.  QEdit will prompt for the name
  1708.            of the Scratch Buffer to be retrieved.
  1709.  
  1710.            ┌─────────────────────────────────────────────────────────────────┐
  1711.            │Get from buffer: <Esc = abort>                                   │
  1712.            │                                                                 │
  1713.            └─────────────────────────────────────────────────────────────────┘
  1714.  
  1715.         3. Enter the name of the desired Scratch Buffer.
  1716.  
  1717.         4. Repeat the above steps whenever you want to insert the
  1718.            contents of a Scratch Buffer into your text.
  1719.  
  1720.  
  1721.     Examples of Block Commands
  1722.  
  1723.     This section contains examples of commonly used Block Commands.
  1724.  
  1725.     ■ Copying or moving a Block within the same file.
  1726.  
  1727.       1. Position the cursor at the beginning of the Block to be copied
  1728.          or moved.
  1729.  
  1730.       2. Enter DropAnchor <Alt A> to mark a stream of characters or
  1731.          MarkLine <Alt L> to mark whole lines.
  1732.  
  1733.       3. Position the cursor at the end of the Block to be copied or moved.
  1734.  
  1735.       4. Enter DropAnchor or MarkLine again to mark the end of the
  1736.          Block.
  1737.  
  1738.       5. Move the cursor to the location in the file where you want to
  1739.          insert the marked Block.
  1740.  
  1741.                                   1-21
  1742.  
  1743.  
  1744.       6. Enter CopyBlock <Alt C> or MoveBlock <Alt M>.
  1745.  
  1746.       7. Enter UnmarkBlock <Alt U> to unmark the Block.
  1747.  
  1748.       The Block has now been copied or moved.
  1749.  
  1750.  
  1751.     ■ Copying or moving a Block to another file.
  1752.  
  1753.       1. Position the cursor at the beginning of the Block to be copied
  1754.          or moved.
  1755.  
  1756.       2. Enter DropAnchor <Alt A> to mark a stream of characters or
  1757.          MarkLine <Alt L> to mark whole lines.
  1758.  
  1759.       3. Position the cursor at the end of the Block to be copied or moved.
  1760.  
  1761.       4. Switch to the "target" file using the file commands EditFile,
  1762.          NextFile, or PrevFile.
  1763.  
  1764.       5. Move the cursor to the location in the file where you want to
  1765.          insert the marked Block.
  1766.  
  1767.       6. Enter CopyBlock <Alt C> or MoveBlock <Alt M>.
  1768.  
  1769.       7. Enter UnmarkBlock <Alt U> to unmark the Block.
  1770.  
  1771.       The Block has now been copied or moved.
  1772.  
  1773.  
  1774.     ■ Copying or moving a Block for multiple insertions in the same file.
  1775.  
  1776.       If you want to insert the same Block at several positions within a
  1777.       file, follow these steps:
  1778.  
  1779.       1. Position the cursor at the beginning of the Block to be copied
  1780.          or moved.
  1781.  
  1782.       2. Enter DropAnchor <Alt A> to mark a stream of characters or
  1783.          MarkLine <Alt L> to mark whole lines.
  1784.  
  1785.       3. Position the cursor at the end of the Block to be copied or moved.
  1786.  
  1787.       4. If you want to leave the Block in its original position and
  1788.          insert copies of it at other locations, then enter Copy <grey +>.
  1789.  
  1790.                                   1-22
  1791.  
  1792.  
  1793.          If you want to delete the Block from its original position and
  1794.          insert copies of it at other locations, then enter Cut <grey ->.
  1795.  
  1796.          The Block is now stored in the Scrap Buffer.
  1797.  
  1798.       5. Move the cursor to the location in the file where you want to
  1799.          insert the Block.
  1800.  
  1801.       6. Enter Paste <grey *>.
  1802.  
  1803.       The Block is now inserted.  Repeat steps 5 and 6 for each additional
  1804.       insertion.
  1805.  
  1806.  
  1807.     ■ Copying or moving a Block for multiple insertions in more than one
  1808.       file.
  1809.  
  1810.       If you want to insert the same Block at several positions in more
  1811.       than one file, follow these steps:
  1812.  
  1813.       1. Position the cursor at the beginning of the Block to be copied
  1814.          or moved.
  1815.  
  1816.       2. Enter DropAnchor <Alt A> to mark a stream of characters or
  1817.          MarkLine <Alt L> to mark whole lines.
  1818.  
  1819.       3. Position the cursor at the end of the Block to be copied or moved.
  1820.  
  1821.       4. If you want to leave the Block in its original position and
  1822.          insert copies of it at other locations, then enter Copy <grey +>.
  1823.  
  1824.          If you want to delete the Block from its original position and
  1825.          insert copies of it at other locations, then enter Cut <grey ->.
  1826.  
  1827.          The Block is now stored in the Scrap Buffer.
  1828.  
  1829.       5. Switch to the "target" file using the file commands EditFile,
  1830.          NextFile, or PrevFile.
  1831.  
  1832.       6. Move the cursor to the location in the file where you want to
  1833.          insert the Block.
  1834.  
  1835.       7. Enter Paste <grey *>.
  1836.  
  1837.       The Block is now inserted.  Repeat steps 5-7 for each additional
  1838.       insertion.
  1839.  
  1840.                                   1-23
  1841.  
  1842.  
  1843.  
  1844.     ■ Copying multiple Blocks for insertion in one or more files.
  1845.  
  1846.       If you have several Blocks that you want to insert in several
  1847.       different files, follow these steps:
  1848.  
  1849.       1. Position the cursor at the beginning of the first Block.
  1850.  
  1851.       2. Enter DropAnchor <Alt A> to mark a stream of characters or
  1852.          MarkLine <Alt L> to mark whole lines.
  1853.  
  1854.       3. Position the cursor at the end of the first Block.
  1855.  
  1856.       4. Enter AppendScrbuff <Ctrl BA> if you want to append to an
  1857.          existing Scratch Buffer.  Otherwise, enter StoreScrbuff
  1858.          <Ctrl BS> to create or overwrite an existing Scratch Buffer.
  1859.  
  1860.       5.  QEdit will prompt for the name of the buffer.  Enter a name.
  1861.           (It is best to use a name which reflects the contents of the
  1862.           buffer and is easily remembered).
  1863.  
  1864.           The Block is now stored in a Scratch Buffer under the assigned
  1865.           name.  Repeat steps 1-5 for each additional Block you want to
  1866.           store.
  1867.  
  1868.       6. Switch to the "target" file using the file commands EditFile,
  1869.          NextFile, or PrevFile.
  1870.  
  1871.       7. Move the cursor to the location in the file where you want to
  1872.          insert a Block.
  1873.  
  1874.       8. Enter GetScrbuff <Ctrl BL>.  QEdit will prompt for the name of
  1875.          the Scratch Buffer.  Enter the name of the desired Scratch
  1876.          Buffer for insertion.
  1877.  
  1878.       Repeat steps 6 through 8 for each insertion of a stored Block.
  1879.  
  1880.                                   1-24
  1881.  
  1882.  
  1883.  
  1884.     Non-Block Commands
  1885.     ─────────────────────────────────────────────────────────────────────────
  1886.  
  1887.     In addition to QEdit's array of Block commands, there are also many
  1888.     commands for manipulating your text which do not depend on marked
  1889.     Blocks.  This section explains each of these non-Block commands in
  1890.     detail.
  1891.  
  1892.  
  1893.     Adding Text
  1894.  
  1895.     ■ AddLine <F2>
  1896.       As its name implies, this command inserts a blank line in the
  1897.       text.  The line is added immediately below the current cursor line.
  1898.       The cursor is moved to the new line.  The cursor column does not
  1899.       change.
  1900.  
  1901.     ■ InsertLine <Alt F2>
  1902.       This command inserts a blank line in the text above the cursor
  1903.       line.  The cursor remains on the new line and the cursor column
  1904.       does not change.
  1905.  
  1906.     ■ Literal <Ctrl P>
  1907.       The Literal command is used to insert control characters into the
  1908.       text.  To use this command enter <Ctrl P> followed by a control
  1909.       character.  The control character will be inserted into the text.
  1910.       For example, to insert a formfeed character (ASCII 12) in the
  1911.       text, enter <Ctrl P> <Ctrl L>.
  1912.  
  1913.     ■ ToggleBoxDraw <Shift F1>
  1914.       This is a specialized command which is really a mode of operation
  1915.       that can be switched ON or OFF.  If switched ON, the cursor
  1916.       movement keys (up, down, right, left) can be used to "draw" lines
  1917.       in the text.  This can be very useful for creating graphs and
  1918.       tables.  To switch Box Drawing mode ON, enter <Shift F1>.  To
  1919.       switch OFF, enter <Shift F1> again.
  1920.  
  1921.     ■ ToggleEnterMatching <Esc><O><E>
  1922.       This is also a specialized command which is really a mode of
  1923.       operation that can be switched ON or OFF.  If switched ON, QEdit
  1924.       will automatically insert into the text a corresponding right-hand
  1925.       ")" or "]" each time a left-hand "(" or "[" is entered.  To switch
  1926.       Enter Matching mode ON, enter <Esc><O><E>.  To switch OFF, enter
  1927.       <Esc><O><E> again.
  1928.  
  1929.  
  1930.     Copying Text
  1931.  
  1932.     ■ GetPrev <Ctrl - (dash)>
  1933.       This command copies the character directly above the cursor onto
  1934.       the cursor line.  To get an idea of how this command works, place
  1935.       the cursor at the beginning of any line which has text on the line
  1936.       immediately above it.
  1937.  
  1938.                                   1-25
  1939.  
  1940.  
  1941.       Now press <Ctrl - (dash)> and hold it down. The cursor will move
  1942.       to the right while copying the the characters from the line above.
  1943.  
  1944.     ■ DupLine <F4>
  1945.       This command simply makes a copy of the current cursor line and
  1946.       inserts this copy on the line immediately below the cursor line.
  1947.       The cursor is placed on the new line.
  1948.  
  1949.     ■ Copy <grey +> and Paste <grey *>
  1950.       Refer to the "Block Commands" section in this chapter for a
  1951.       complete explanation of these commands.  The commands are included
  1952.       here because, if desired, the User can configure QEdit so that
  1953.       these commands act on the current cursor line in the same manner
  1954.       in which they act on Blocks.  For more information on how to
  1955.       configure this option, refer to the "Advanced Options" section of
  1956.       Chapter 2.
  1957.  
  1958.  
  1959.     Moving Text
  1960.  
  1961.     ■ Align
  1962.       This command lines up the left-most character of the cursor line
  1963.       with the left-most character of the line above it.  This allows
  1964.       you to align portions of text which require a common left margin.
  1965.       This command also moves the cursor down one line; thus, large
  1966.       portions of text can be aligned very quickly by entering this
  1967.       command and holding the command key down.
  1968.  
  1969.     ■ JoinLine  <Alt J>
  1970.       This command will delete the line below the current cursor line
  1971.       and append it to the end of the cursor line.
  1972.  
  1973.       If the cursor is positioned on or before the last non-blank
  1974.       character of the line, the line below will be appended immediately
  1975.       following the last non-blank character.
  1976.  
  1977.       If the cursor is positioned beyond the last non-blank character of
  1978.       the line, the line below will be appended beginning at the current
  1979.       cursor position.
  1980.  
  1981.       If the line below the cursor line is blank, the blank line will be
  1982.       deleted.
  1983.  
  1984.     ■ SplitLine <Alt S>
  1985.       This command will delete all text on and to the right of the
  1986.       cursor on the cursor line and will insert this text on a new line
  1987.       immediately below the cursor line.  The cursor position will not
  1988.       change.
  1989.  
  1990.     ■ Return <Enter>
  1991.       Before reading the explanation of the Return command, it may be
  1992.       helpful to review the discussion of Insert mode in the
  1993.       "Modes" section in this chapter.
  1994.  
  1995.                                   1-26
  1996.  
  1997.  
  1998.       If the editor is in Insert mode, this command performs like the
  1999.       SplitLine command; that is, all text on and to the right of the
  2000.       cursor on the cursor line will be deleted and inserted on a new
  2001.       line immediately below the cursor line.  The cursor, however, will
  2002.       be placed on the new line.
  2003.  
  2004.       If the editor is not in Insert mode, this command will simply
  2005.       place the cursor at the beginning of the line below the cursor
  2006.       line.  No text will be affected.
  2007.  
  2008.       If the editor is in AutoIndent mode, the cursor will be placed at
  2009.       the left margin instead of at the beginning of the line.
  2010.  
  2011.                                        ┌─────────────────────────────────┐
  2012.                                        │ QEdit Tip:                      │
  2013.                                        │   QEdit can be configured so    │
  2014.                                        │   that the Return command does  │
  2015.                                        │   not split lines in Insert     │
  2016.                                        │   mode.                         │
  2017.                                        │   Refer to the "Advanced        │
  2018.                                        │   Options" section of Chapter 2 │
  2019.                                        │   for more information.         │
  2020.                                        └─────────────────────────────────┘
  2021.  
  2022.     ■ Cut <grey -> and Paste <grey *>
  2023.       Refer to the "Block Commands" section in this chapter for a
  2024.       complete explanation of these commands.  The commands are included
  2025.       here because, if desired, the User can configure QEdit so that
  2026.       these commands act on the current cursor line in the same manner
  2027.       in which they act on Blocks.  For more information on how to
  2028.       configure this option, refer to the "Advanced Options" section of
  2029.       Chapter 2.
  2030.  
  2031.     ■ ShiftLeft <Shift F7> and ShiftRight <Shift F8>
  2032.       Refer to the "Block Commands" section in this chapter for a
  2033.       complete explanation of these commands.  The commands are included
  2034.       here because, if there is no marked Block in the text, these
  2035.       commands will act on the current cursor line.
  2036.  
  2037.  
  2038.     Deleting And Undeleting Text
  2039.  
  2040.     ■ Backspace <Backspace> and DelLtWord <Ctrl Backspace>
  2041.       If Insert mode is ON, the Backspace command deletes the character
  2042.       to the left of the cursor.  The text to the right of the cursor is
  2043.       pulled behind the cursor as it moves to the left.  If the cursor
  2044.       is in column one and you enter Backspace, the cursor line is
  2045.       appended to the line immediately above.
  2046.  
  2047.       If Insert mode is OFF, the Backspace command works the same as
  2048.       above except the text to the right of the cursor is not pulled
  2049.       behind the cursor as it moves left.
  2050.  
  2051.       The DelLtWord command is a backspace for "words".  It works just
  2052.       like the Backspace command, except that it deletes all characters
  2053.       from the cursor to the beginning of the previous word.
  2054.  
  2055.                                   1-27
  2056.  
  2057.  
  2058.     ■ DelCh <Del> and DelRtWord <Ctrl T>
  2059.       DelCh will delete the character at the cursor position and pull
  2060.       the text to the right of the cursor, one column to the left.
  2061.  
  2062.       If the cursor position is to the right of the last non-blank
  2063.       character on the cursor line, the line immediately below will be
  2064.       appended to the cursor line.
  2065.  
  2066.       The DelRtWord command is a character delete for "words".  It
  2067.       works just like the DelCh command, except that it deletes
  2068.       all characters from the cursor to the beginning of the following
  2069.       word.
  2070.  
  2071.     ■ DelToEol <F6>
  2072.       This command deletes the character at the cursor position and all
  2073.       text to the right of the cursor on the current cursor line.  The
  2074.       cursor position does not change.
  2075.  
  2076.     ■ DelLine <Alt D>
  2077.       This command deletes the current cursor line from the text. All
  2078.       text below the deleted line is shifted up one line.
  2079.  
  2080.     ■ UndoCursorline  <Ctrl QL>
  2081.       This command allows you to reverse any changes you have made to
  2082.       the cursor line.  This can be helpful if you accidentally delete
  2083.       or change part of a line, or you just change your mind and want
  2084.       the cursor line back the way it was.  This command must be issued
  2085.       before the cursor is moved from the current cursor line and before
  2086.       any file or window commands are entered.  Changes made using the
  2087.       FindReplace command cannot be reversed with this command.
  2088.  
  2089.     ■ UnKill <Ctrl U>
  2090.       This command allows you to retrieve text that has been deleted by
  2091.       the DeleteBlock, DelLine, DelRtWord, or DelToEol commands.  Refer
  2092.       to "The Kill Buffer" section in this chapter for a complete
  2093.       explanation on the use of this command.
  2094.  
  2095.                                   1-28
  2096.  
  2097.  
  2098.  
  2099.     Replacing Text
  2100.     
  2101.     QEdit provides the ability to search for specific strings of
  2102.     characters throughout your text and then replace all, some, or none
  2103.     of them with another string of characters.  (If you want to search
  2104.     for strings of characters without replacing them, use the Find
  2105.     command which is described in the "Moving Through a File" section in
  2106.     this chapter.)
  2107.  
  2108.     ■ FindReplace <Ctrl QA>
  2109.       This command will search for a specific string of characters in
  2110.       the current file, and optionally, replace it with another string
  2111.       of characters.
  2112.  
  2113.       Upon entering the FindReplace command, QEdit will prompt for the
  2114.       string of characters for which to search.
  2115.  
  2116.       ┌─────────────────────────────────────────────────────────────────┐
  2117.       │Search For: <Esc = Abort>                                        │
  2118.       │                                                                 │
  2119.       └─────────────────────────────────────────────────────────────────┘
  2120.  
  2121.       Enter the desired string of characters and press <Enter>.
  2122.  
  2123.       QEdit will then prompt for a new string of characters (to replace
  2124.       the old string).
  2125.  
  2126.       ┌─────────────────────────────────────────────────────────────────┐
  2127.       │Change to: <Esc = Abort>                                         │
  2128.       │                                                                 │
  2129.       └─────────────────────────────────────────────────────────────────┘
  2130.  
  2131.       Enter the new string of characters and press <Enter>.
  2132.  
  2133.       QEdit will then prompt for the search options you wish to use.
  2134.  
  2135.       ┌───────────────────────────────────────────────────────────────┐
  2136.       │Options [IWBN] (Ignore, Words, Backward, No Ask) <Esc = Abort> │
  2137.       │I                                                              │
  2138.       └───────────────────────────────────────────────────────────────┘
  2139.  
  2140.       Enter the letter(s) corresponding to the option(s) you want and
  2141.       press <Enter>.  The available options are:
  2142.  
  2143.         [I] = Ignore the case (capital or lowercase) of the search
  2144.               string.  For example, "Hello" would match "hello" when this
  2145.               option is chosen.  This option is set ON by default.
  2146.  
  2147.         [W] = Search for whole words only.  For example, when this option
  2148.               is chosen, the word "sent" will match only the actual word
  2149.               "sent".  Otherwise, any other words that contain the
  2150.               string (such as "sentence" or "absent") would also match.
  2151.  
  2152.         [B] = Search backward from the current cursor position.  If you
  2153.               choose "B", QEdit will search backward from the cursor
  2154.               position toward the beginning of the file.  Otherwise, it
  2155.               will search from the cursor position toward the end of the
  2156.               file.
  2157.  
  2158.                                   1-29
  2159.  
  2160.  
  2161.         [N] = Find and replace without prompting.  If you choose "N",
  2162.               QEdit will find and replace every occurrence of the search
  2163.               string, without asking you if you want to replace each
  2164.               individual occurrence.
  2165.  
  2166.       If you select the "No Ask" option, QEdit will find and replace
  2167.       every occurrence of the search string with no further User
  2168.       intervention.  If you do not select the "No Ask" option, QEdit will
  2169.       prompt at every occurrence of the search string with:
  2170.  
  2171.       ┌───────────────────────────────────────┐
  2172.       │  Replace (Yes/No/Only/Global/Quit):   │
  2173.       └───────────────────────────────────────┘
  2174.  
  2175.       Valid responses are:
  2176.  
  2177.            <Y>es    - Replace the search string with the new string
  2178.                       and continue to the next occurrence.
  2179.            <N>o     - Do not replace the search string, but continue
  2180.                       to the next occurrence.
  2181.            <O>nly   - Replace the search string with the new string
  2182.                       and quit.
  2183.            <G>lobal - Replace the search string with the new string
  2184.                       and replace all other occurrences with no
  2185.                       further prompts.
  2186.            <Q>uit   - Abort the FindReplace process.
  2187.  
  2188.  
  2189.     ■ RepeatFind <Ctrl L>
  2190.       This command will reissue the previous Find or FindReplace command
  2191.       using the same character strings and options.
  2192.  
  2193.  
  2194.     The Kill Buffer - A Safety Net
  2195.     ─────────────────────────────────────────────────────────────────────────
  2196.  
  2197.     QEdit maintains a temporary storage area for deleted text.  This
  2198.     provides the User a safeguard against incorrectly or inadvertently
  2199.     deleting text.  This recovery mechanism is automatically in effect
  2200.     when QEdit is running.  No action is required from the User until
  2201.     there is a need to recover deleted text.
  2202.  
  2203.     The temporary storage area is called the Kill Buffer.  QEdit will
  2204.     place into the Kill Buffer text which has been deleted by these
  2205.     commands:
  2206.  
  2207.                         DeleteBlock  <Alt G>
  2208.                         DelLine      <Alt D>
  2209.                         DelRtWord    <Ctrl T>
  2210.                         DelToEol     <F6>
  2211.  
  2212.                                   1-30
  2213.  
  2214.  
  2215.     To understand how the Kill Buffer works and how text is recovered
  2216.     from the Kill Buffer, refer to the illustration below.
  2217.  
  2218.  
  2219.                              The Kill Buffer
  2220.  
  2221.            Entry    Command
  2222.            Number   Entered      Buffer Contents             top
  2223.           ┌───────┬────────────┬────────────────────────────────┐
  2224.           │  4    │ DelToEol   │ part of this line was deleted. │
  2225.           ├───────┼────────────┼────────────────────────────────┤
  2226.           │  3    │ DelRtWord  │ (1 word deleted)               │
  2227.           ├───────┼────────────┼────────────────────────────────┤
  2228.           │  2    │ DelLine    │ This entire line was deleted.  │
  2229.           ├───────┼────────────┼────────────────────────────────┤
  2230.           │  1    │ DelLine    │ This entire line was deleted.  │
  2231.           ├───────┼────────────┼────────────────────────────────┤
  2232.           │ empty │            │                                │
  2233.           ├───────┼────────────┼────────────────────────────────┤
  2234.           │ empty │            │                                │
  2235.           └───────┴────────────┴────────────────────────────────┘
  2236.                                                            bottom
  2237.  
  2238.  
  2239.     Each time one of the text deletion commands is used, a new entry is
  2240.     made in the Kill Buffer.  In the above example, four deletion
  2241.     commands have been issued.  The text from these four commands has
  2242.     been stored in the Kill Buffer from top to bottom. In other words,
  2243.     when the DelToEol command was issued (entry #4), the first three
  2244.     entries were pushed toward the bottom of the Kill Buffer and the
  2245.     newly deleted text was entered at the top.
  2246.  
  2247.     In the example, the Kill Buffer has enough room for six entries. When
  2248.     a seventh entry is made, the oldest entry, or entry number one, will
  2249.     be discarded from the Kill Buffer.  Once discarded from the Kill
  2250.     Buffer, that text can no longer be recovered.
  2251.  
  2252.     To recover deleted text, the UnKill <Ctrl U> command is used.  Each
  2253.     time the UnKill command is issued the most recent entry (the
  2254.     "top" entry of the Kill Buffer) is retrieved and restored to the
  2255.     file.  This entry is then deleted from the Kill Buffer, and all
  2256.     remaining entries move toward the top of the buffer by one position.
  2257.     In the example, the first time the UnKill command is issued, entry
  2258.     #4 will be recovered.  Next, entry #3 will be recovered, and so on.
  2259.     Thus, recovering deleted text follows the rule of LIFO (last in -
  2260.     first out).  The last entry of deleted text will be the first one
  2261.     recovered and the first entry of deleted text will be the last one
  2262.     recovered.
  2263.  
  2264.                                   1-31
  2265.  
  2266.  
  2267.     Here are some additional items of which to be aware regarding the
  2268.     Kill Buffer and its uses.
  2269.  
  2270.     ■ A separate Kill Buffer is maintained for each file loaded into
  2271.       QEdit.  The Kill Buffer for each file exists only as long as the
  2272.       file is loaded.
  2273.  
  2274.     ■ The default size of the Kill Buffer is 30 entries.  This may be
  2275.       changed using the QEdit configuration program. Refer to the
  2276.       "General Options" section of Chapter 2 for more information.
  2277.  
  2278.     ■ The text deleted using the DelLine, DelRtWord, and DelToEol
  2279.       commands will take up one entry in the Kill Buffer each time the
  2280.       commands are executed.  The text deleted using the DeleteBlock
  2281.       command will take up as many entries as there are lines in the
  2282.       Block.
  2283.  
  2284.       It is important to note that regardless of how large the Kill
  2285.       Buffer is configured to be, it may be possible to mark and delete
  2286.       a Block in the file which is larger than the buffer.  If this
  2287.       situation arises, QEdit will save the deleted text in the Kill
  2288.       Buffer from the bottom up.  For example, if a marked Block is 200
  2289.       lines long and five lines too large for the Kill Buffer, then the top
  2290.       five lines of the Block will not be loaded into the Kill Buffer.
  2291.  
  2292.     ■ When issuing the UnKill command to recover deleted text, deleted
  2293.       lines will be inserted immediately before the current cursor line,
  2294.       and deleted words will be inserted immediately before the current
  2295.       cursor position.
  2296.  
  2297.  
  2298.     Macros
  2299.     ─────────────────────────────────────────────────────────────────────────
  2300.  
  2301.     A macro is a series of commands and/or keystrokes which are assigned
  2302.     to a single key.  If you find that you are repeatedly entering the
  2303.     same series of commands and keystrokes (for example, a row of
  2304.     asterisks, three Returns, and then a Tab), using macros will allow
  2305.     you to easily assign these to a single key, such as <Shift F6>.
  2306.     Then, the next time you wish to enter a row of asterisks, three
  2307.     Returns, and a Tab, you will only have to press <Shift F6>.
  2308.  
  2309.     Creating, using, and saving macros for later use is both quick and
  2310.     simple.  By taking a few minutes to review the following sections,
  2311.     you should be able to save plenty of time and keystrokes in your
  2312.     future editing with the help of macros.
  2313.  
  2314.                                   1-32
  2315.  
  2316.  
  2317.  
  2318.     Creating Macros
  2319.  
  2320.     Once you have decided to assign a series of commands and keystrokes
  2321.     to a single key, creating the macro is simply a matter of entering
  2322.     this series while QEdit "records" the macro.
  2323.  
  2324.     To create a macro follow these steps:
  2325.  
  2326.     1. Position the text and cursor to where you will begin entering the
  2327.        series of commands and keys.  (You may want to practice your
  2328.        series once or twice before actually recording the macro.)
  2329.  
  2330.     2. Enter the MacroRecord <Ctrl M> command.  An "R" will appear on
  2331.        the Status Line to indicate macro recording is ON.  The following
  2332.        message will appear:
  2333.  
  2334.        ┌────────────────────────────────────────────────────────┐
  2335.        │Assign to what key: (Enter for "scrap", Escape to Abort)│
  2336.        └────────────────────────────────────────────────────────┘
  2337.  
  2338.     3. Enter the key to which you want to assign the series of commands
  2339.        and keystrokes.  There are two requirements here.  The key must be
  2340.        a "configurable" key.  A list of all configurable keys is contained
  2341.        in Appendix B.  Also, the key cannot have a command already
  2342.        assigned to it.
  2343.  
  2344.        You may assign the macro to a "scrap" or temporary area by simply
  2345.        pressing <Enter>.  The scrap area will hold your macro until
  2346.        another macro is recorded.
  2347.  
  2348.     4. Enter the series of commands and keystrokes to be assigned. Note
  2349.        that the "R" still appears on the Status Line.
  2350.  
  2351.     5. Enter the MacroRecord <Ctrl M> command again.  Macro recording is
  2352.        now OFF.  The "R" no longer appears on the the Status Line.  The
  2353.        macro is now created and assigned to the key specified in step 3.
  2354.  
  2355.                                   1-33
  2356.  
  2357.  
  2358.  
  2359.     Using Macros
  2360.  
  2361.     To use your macro, simply position the text and cursor properly and
  2362.     press the key to which you assigned the macro, or use the
  2363.     ExecuteScrap <Ctrl Enter> command to retrieve the latest macro from
  2364.     the scrap area. If the macro does not behave as you expected
  2365.     (perhaps you inadvertently hit an extraneous key while recording),
  2366.     simply repeat the above steps.  Your old macro assignment will be
  2367.     replaced with the new one.
  2368.  
  2369.                                        ┌─────────────────────────────────┐
  2370.                                        │ QEdit Tip:                      │
  2371.                                        │   Be aware of modes, especially │
  2372.                                        │   Insert mode, when recording   │
  2373.                                        │   and using macros.  Macros     │
  2374.                                        │   recorded with Insert mode ON  │
  2375.                                        │   and then used with Insert mode│
  2376.                                        │   OFF (and vice-versa) may      │
  2377.                                        │   behave very strangely.        │
  2378.                                        └─────────────────────────────────┘
  2379.  
  2380.  
  2381.     Saving and Reloading Macros
  2382.  
  2383.     Normally, macros created using this process are lost once the editor
  2384.     is terminated.  QEdit, however, provides an easy method of saving
  2385.     your macros so that they may be reloaded for use in any future
  2386.     editing session.
  2387.  
  2388.     Macros can be saved in a binary disk file.  You specify the name of
  2389.     this file.  Once macros have been created, enter the MacroWrite
  2390.     <Esc><M><W> command.  QEdit will prompt with:
  2391.  
  2392.     ┌─────────────────────────────────────────────────────────────────┐
  2393.     │Macro file to write: <Esc = abort>                               │
  2394.     │                                                                 │
  2395.     └─────────────────────────────────────────────────────────────────┘
  2396.  
  2397.     Enter the name of the file to contain your macros.  The macros will
  2398.     be saved under the given filename.  You may notice that this file
  2399.     now appears in the current DOS directory.  Macros assigned to the
  2400.     scrap area cannot be saved.
  2401.  
  2402.     In a future editing session, if you wish to reuse your previously
  2403.     defined macros, you need only reload the macro file.  To do this
  2404.     enter the MacroRead <Esc><M><R> command.  QEdit will prompt with:
  2405.  
  2406.     ┌─────────────────────────────────────────────────────────────────┐
  2407.     │Macro file to read: <Esc = abort>                                │
  2408.     │                                                                 │
  2409.     └─────────────────────────────────────────────────────────────────┘
  2410.  
  2411.     Enter the name of the previously saved macro file.  Your macros will
  2412.     be reloaded.  You may then use them in the same manner as before.
  2413.  
  2414.     The QEdit configuration program provides an alternate method of
  2415.     creating macros.  Refer to the "Keyboard Configuration" section of
  2416.     Chapter 2 for more information.
  2417.  
  2418.                                   1-34
  2419.  
  2420.  
  2421.  
  2422.     Example of a Macro
  2423.  
  2424.     To create a macro which will insert a formfeed character (ASCII
  2425.     12) at column one of the current cursor line, do the following:
  2426.  
  2427.     1. Position the cursor in the text where you would like to insert
  2428.        the formfeed character.
  2429.  
  2430.     2. Enter MacroRecord <Ctrl M>.
  2431.  
  2432.     3. Press <Alt F1> to assign the macro to this key.
  2433.  
  2434.     4. Press the following series of keys:
  2435.            <Home>     (for the BegLine command)
  2436.            <Ctrl P>   (for the Literal command)
  2437.            <Ctrl L>   (a formfeed character)
  2438.  
  2439.     5. Enter MacroRecord <Ctrl M>.  The macro is now created and
  2440.        assigned to the <Alt F1> key.
  2441.  
  2442.     Now, whenever you enter <Alt F1>, the cursor will be moved to column
  2443.     one and a formfeed character will be inserted, just as if you had
  2444.     typed it in from the keyboard.
  2445.  
  2446.  
  2447.     Printing
  2448.     ─────────────────────────────────────────────────────────────────────────
  2449.  
  2450.     QEdit allows you to print either your entire current file or a
  2451.     portion of the current file.
  2452.  
  2453.     To print the entire current file, simply enter the PrintAll
  2454.     <Alt P><A> command.  The entire current file will be printed.
  2455.  
  2456.     To print a portion of the current file, first mark the portion of
  2457.     the file to be printed using the Block marking commands.  (Refer to
  2458.     the "Block Commands" section in this chapter.)  Next, enter the
  2459.     PrintBlock <Alt P><B> command.  Only the marked Block portion of the
  2460.     file will be printed.
  2461.  
  2462.                                   1-35
  2463.  
  2464.  
  2465.  
  2466.     Print Formatting
  2467.  
  2468.     Two commands are provided for setting the left margin and the page
  2469.     size.  (The left margin and page size may also be specified using
  2470.     the configuration program.  Refer to the "Printer Options" section
  2471.     of Chapter 2 for more information.)
  2472.  
  2473.     ■ SetPrintLeftMargin <Alt P><L>
  2474.       This command specifies the number of blank spaces to be used as a
  2475.       left margin. QEdit will prompt with:
  2476.  
  2477.       ┌──────────────────────────────────────────┐
  2478.       │Printer left margin [0..80]: <Esc = Abort>│
  2479.       │0                                         │
  2480.       └──────────────────────────────────────────┘
  2481.  
  2482.       Enter the left margin length from zero to 80.
  2483.  
  2484.     ■ SetPrintPageSize <Alt P><P>
  2485.       This command specifies the the number of lines to be printed on
  2486.       each page. QEdit will prompt with:
  2487.  
  2488.       ┌─────────────────────────────────────────┐
  2489.       │Printer page size [0..400]: <Esc = Abort>│
  2490.       │0                                        │
  2491.       └─────────────────────────────────────────┘
  2492.  
  2493.       Enter a page size from zero to 400.  A zero will instruct QEdit
  2494.       to print continuously without page breaks.
  2495.  
  2496.  
  2497.     Formfeeds
  2498.  
  2499.     QEdit will automatically send a formfeed character (ASCII 12) to the
  2500.     printer at the end of each page.  A page is determined by the page
  2501.     size as explained in the section above.
  2502.  
  2503.     At times you may find it desirable to insert formfeed characters
  2504.     directly into your text.  For example, you want the page size for
  2505.     your text to be 55 lines, which you have set using the
  2506.     SetPrintPageSize command, but there is a 15-line table in the text
  2507.     that should appear on a page by itself.  To accomplish this, simply
  2508.     insert formfeed characters immediately before and after the table.
  2509.  
  2510.     To insert a formfeed character in the text, enter the Literal
  2511.     <Ctrl P> command followed by a formfeed <Ctrl L> character. If you
  2512.     need to insert formfeed characters into your text repeatedly, you
  2513.     may want to use a macro.  An example of a macro to insert formfeed
  2514.     characters can be found in the "Macros" section in this chapter.
  2515.  
  2516.     It is also possible, from within QEdit, to send a formfeed character
  2517.     to the printer, causing the printer to eject a page.  To do this,
  2518.     simply enter the PrintEject <Alt P><F> command.
  2519.  
  2520.                                   1-36
  2521.  
  2522.  
  2523.  
  2524.     The Shell and Dos commands
  2525.     ─────────────────────────────────────────────────────────────────────────
  2526.  
  2527.     (For the following discussion, "Dos" is a QEdit command, while
  2528.     "DOS" refers to the computer's operating system.)
  2529.  
  2530.     QEdit provides two very helpful commands that allow you to interact
  2531.     with DOS from within the editor.  The commands, Shell and Dos, allow
  2532.     you to perform most functions that you would normally execute from
  2533.     the DOS command line, then return you to your original position in
  2534.     the editor.
  2535.  
  2536.     ■ Shell <F9>
  2537.       This command should be used when executing multiple DOS commands.
  2538.       Upon entering the Shell command, control will be passed to DOS.
  2539.       The DOS prompt will appear on the screen, just as if no other
  2540.       programs were running.  You may now enter most DOS commands.
  2541.       (Some exceptions are noted below.)  Once you have entered all the
  2542.       desired DOS commands, simply type "exit <Enter>" and control
  2543.       will be passed back to QEdit.  You will be positioned in the file
  2544.       exactly where you were when the Shell command was entered.
  2545.  
  2546.     ■ Dos <Alt F9>
  2547.       This command should be used when executing a single DOS command.
  2548.       Upon entering this command, QEdit will prompt with:
  2549.  
  2550.       ┌───────────────────────────────────────────────────────────────┐
  2551.       │Execute what: <Esc = Abort>                                    │
  2552.       │                                                               │
  2553.       └───────────────────────────────────────────────────────────────┘
  2554.  
  2555.       You may now enter almost any DOS command.  (Some exceptions are
  2556.       noted below.)  Once the DOS command has completed, pressing any
  2557.       key will pass control back to QEdit.
  2558.  
  2559.     You should not execute any TSR programs (programs that terminate but
  2560.     remain resident in your computer) from the Shell or Dos commands.
  2561.     For example, the DOS PRINT and GRAPHICS commands are TSR programs.
  2562.  
  2563.     If you mistakenly execute a TSR program from QEdit's Shell or Dos
  2564.     command, the computer's memory allocation scheme will probably
  2565.     become fragmented, and as a result, QEdit's available memory may
  2566.     become severely limited.  You should save your files, terminate
  2567.     QEdit, and then reboot the computer.
  2568.  
  2569.                                   1-37
  2570.  
  2571.  
  2572.  
  2573.     Word Processing Commands
  2574.     ─────────────────────────────────────────────────────────────────────────
  2575.  
  2576.     QEdit has all the features you need to do basic word processing.  In
  2577.     addition to the commands which enable you to view and edit your text
  2578.     (discussed in previous sections), QEdit provides word-wrapping and
  2579.     paragraph reformatting capabilities.
  2580.  
  2581.  
  2582.     ■ The right margin
  2583.       To benefit from the word-wrap and paragraph reformatting features
  2584.       of QEdit, an appropriate right margin must first be set.  The
  2585.       default setting is column 60.  This may be changed using the
  2586.       configuration program.  (Refer to the "General Options" section of
  2587.       Chapter 2 for instructions on how to change the right margin
  2588.       setting.)  This value of the right margin will be used each time
  2589.       the editor is initiated.
  2590.  
  2591.       QEdit provides the ability to change the right margin setting
  2592.       temporarily while the editor is running without affecting the
  2593.       permanent setting.  To change the right margin setting temporarily,
  2594.       enter the SetRmargin <Ctrl OR> command.  QEdit will prompt with:
  2595.  
  2596.       ┌────────────────────────────────────┐
  2597.       │right margin [1..300]: <Esc = abort>│
  2598.       │60                                  │
  2599.       └────────────────────────────────────┘
  2600.  
  2601.       Enter the desired column number for the right margin.  The new
  2602.       setting will be in effect until the SetRmargin command is entered
  2603.       again or the next time the editor is initiated.
  2604.  
  2605.  
  2606.     ■ WordWrap
  2607.       WordWrap is a QEdit mode which can be switched ON and OFF
  2608.       using the ToggleWordwrap <Ctrl OW> command.  When switched ON,
  2609.       this mode will cause the cursor to advance automatically to the
  2610.       next line when text is being entered.
  2611.  
  2612.       The cursor will advance to the next line based on the right
  2613.       margin, which is set using the SetRmargin <Ctrl OR> command.  Once
  2614.       the cursor reaches the right margin and a non-blank character is
  2615.       typed, the cursor, along with the word (i.e., any continuous
  2616.       string of non-blank characters) currently being typed, will be
  2617.       advanced to the next line.
  2618.  
  2619.       The cursor will not advance to the next line if the current line
  2620.       does not contain at least one space.
  2621.  
  2622.                                   1-38
  2623.  
  2624.  
  2625.  
  2626.     ■ Paragraph Reformatting
  2627.       The WrapPara <Alt B> command will reformat text from the current
  2628.       cursor position to the next blank line or the end of the file.
  2629.  
  2630.       The right-hand side of the text will be reformatted based on the
  2631.       right margin.  The right margin is set using the SetRmargin
  2632.       <Ctrl OR> command.
  2633.  
  2634.       The left-hand side of the text will be reformatted based on
  2635.       AutoIndent mode.  If AutoIndent mode is switched OFF, the left
  2636.       margin will be column one.  If AutoIndent mode is switched ON, the
  2637.       first non-blank character on the line immediately AFTER the cursor
  2638.       line will be used for the left margin.  Using the line AFTER the
  2639.       cursor line allows for special indentation for the first line of a
  2640.       paragraph.
  2641.  
  2642.  
  2643.     Modes
  2644.     ─────────────────────────────────────────────────────────────────────────
  2645.  
  2646.     QEdit uses modes to affect the operation of the editor.  In general,
  2647.     a QEdit mode is a state during which certain commands or keystrokes
  2648.     behave differently.  Following is an explanation of all the QEdit
  2649.     modes.
  2650.  
  2651.     ■ Insert mode
  2652.       Insert mode can be switched ON and OFF by pressing the <Ins> key.
  2653.       When Insert mode is ON, an "I" will appear on the Status Line.  The
  2654.       following table describes the commands and keystrokes which are
  2655.       affected by Insert mode.
  2656.  
  2657.  
  2658.       Command/
  2659.       Keystroke       Insert ON                     Insert OFF
  2660.       ────────────    ──────────────────────        ──────────────────────
  2661.       Characters,     Shift text to right           Overwrite existing
  2662.       Space           of cursor, one column         text.
  2663.                       to the right.
  2664.  
  2665.       Backspace       Deletes character/word        Deletes character/word
  2666.                       to left of cursor.            to left of cursor.
  2667.                       Text to right of cursor       Text to right of cursor
  2668.                       shifts left one column.       does not shift.
  2669.  
  2670.       Return          Splits line at cursor         Does not split line.
  2671.                       position.  Cursor moves       Cursor moves to next
  2672.                       to next line.                 line.
  2673.  
  2674.       TabLt,          Tabs cursor and shifts        Tabs cursor only.
  2675.       TabRt           text same number of
  2676.                       positions.
  2677.  
  2678.                                   1-39
  2679.  
  2680.  
  2681.  
  2682.     ■ AutoIndent mode
  2683.       AutoIndent mode is switched ON and OFF using the ToggleIndent
  2684.       <Ctrl QI> command.  This mode, when ON, positions the cursor at
  2685.       the current left margin (This is not the same as the print left
  2686.       margin.) whenever the <Enter> key is pressed.  The current left
  2687.       margin is determined by the first non-blank character on the
  2688.       immediately preceding line.  The following table describes the
  2689.       commands and keystrokes which are affected by AutoIndent mode.
  2690.  
  2691.  
  2692.       Command/
  2693.       Keystroke       AutoIndent ON                 AutoIndent OFF
  2694.       ────────────    ──────────────────────        ──────────────────────
  2695.  
  2696.       Return         Cursor positioned below        Cursor positioned at
  2697.                      first non-blank character      column one.
  2698.                      of previous line.
  2699.  
  2700.       WrapPara       When reformatting, the left    A left margin of zero is
  2701.                      margin is determined from      used when reformatting.
  2702.                      the first non-blank
  2703.                      character on the line
  2704.                      immediately following the
  2705.                      cursor line.
  2706.  
  2707.  
  2708.     ■ C mode
  2709.       This mode is specifically for "C" language programming.  It is
  2710.       switched ON and OFF using the configuration program.  (Refer to
  2711.       the "General Options" section of Chapter 2 for information on
  2712.       switching C mode ON and OFF.)  C mode is only in effect when
  2713.       AutoIndent mode is also ON.
  2714.  
  2715.       C Mode, when switched ON, affects files with a ".h" or ".c" file
  2716.       extension.  When the current cursor line contains a "{" and the
  2717.       <Enter> key is pressed, QEdit issues a normal Return followed by
  2718.       a TabRt command.  Additionally, when a "}" character is entered,
  2719.       QEdit first issues a TabLt command and then enters the "}"
  2720.       character.
  2721.  
  2722.  
  2723.     ■ WordWrap mode
  2724.       WordWrap mode is switched ON and OFF using the ToggleWordwrap
  2725.       <Ctrl OW> command.  When switched ON, this mode will cause the
  2726.       cursor to advance to the next line automatically when text is
  2727.       being entered.
  2728.  
  2729.       The cursor will advance to the next line based on the right
  2730.       margin, which is set using the SetRmargin <Ctrl OR> command. Once
  2731.       the cursor reaches the right margin and a non-blank character is
  2732.       typed, the cursor, along with the word (i.e., any continuous
  2733.       string of non-blank characters) currently being typed, will be
  2734.       advanced to the next line.
  2735.  
  2736.       The cursor will not advance to the next line if the current line
  2737.       does not contain at least one space.
  2738.  
  2739.                                   1-40
  2740.  
  2741.  
  2742.  
  2743.     ■ BackUp mode
  2744.       BackUp mode is switched ON and OFF using the ToggleBakups
  2745.       <Esc><O><B> command.  When BackUp Mode is switched ON, QEdit will
  2746.       create a backup copy (using the .bak file extension) for any file
  2747.       that is edited and saved.  The backup copy of the file is an image
  2748.       of the file before it was last edited and saved.  When BackUp mode
  2749.       is OFF, no backup files will be created.
  2750.  
  2751.  
  2752.     ■ MacroRecord mode
  2753.       MacroRecord mode is switched ON and OFF using the MacroRecord
  2754.       <Ctrl M> command.  This mode, when ON, records and assigns a
  2755.       series of commands and keystrokes to a designated key (or scrap
  2756.       area).  This creates a macro.  For a complete explanation of
  2757.       macros and their use, refer to the "Macros" section in this
  2758.       chapter.
  2759.  
  2760.  
  2761.     ■ EnterMatching mode
  2762.       EnterMatching mode is switched ON and OFF using the
  2763.       ToggleEnterMatching <Esc><O><E> command.  If switched ON, QEdit
  2764.       will automatically insert into the text a corresponding right-hand
  2765.       ")" or "]" each time a left-hand "(" or "[" is entered.
  2766.  
  2767.     ■ Box Drawing mode
  2768.       Box Drawing mode is switched ON and OFF using the ToggleBoxDraw
  2769.       <Shift F1> command.  If switched ON, the cursor movement keys (up,
  2770.       down, right, left) can be used to "draw" lines in the text.  This
  2771.       can be very useful for creating charts and tables.  All of the
  2772.       diagrams found in this manual were created using Box Drawing.
  2773.  
  2774.  
  2775.     ■ Smart Tabs mode
  2776.       Smart Tabs mode is switched ON and OFF using the ToggleSmartTabs
  2777.       <Ctrl QT> command.  If switched ON, the tab right (or left) key
  2778.       will align the cursor with the first character of the next (or
  2779.       previous) word on the line immediately above the current cursor
  2780.       line.
  2781.  
  2782.  
  2783.     ■ Physical Tab Expansion mode
  2784.       Physical Tab Expansion mode is switched ON and OFF using the
  2785.       ToggleTabsExpand <Alt V> command.  If switched ON, physical tab
  2786.       characters (ASCII 9's) found in a file will be expanded into
  2787.       spaces according to the Physical Tab Width set in the
  2788.       configuration program. (Refer to the "Tab Settings" section of
  2789.       Chapter 2 for more information.) If switched OFF, physical tabs
  2790.       will be displayed on the screen.
  2791.  
  2792.  
  2793.     ■ Physical Tab Insertion mode
  2794.       Physical Tab Insertion mode is switched ON and OFF using the
  2795.       ToggleTabsOut <Alt I> command.  If switched ON, continuous spaces
  2796.       in a line of text will be replaced with physical tabs (ASCII 9's)
  2797.       according to the Physical Tab Width set in the configuration
  2798.       program.  (Refer to the "Tab Settings" section of Chapter 2 for
  2799.       more information.)
  2800.  
  2801.                                   1-41
  2802.  
  2803.     Chapter 2. Customizing QEdit
  2804.     =========================================================================
  2805.  
  2806.     QEdit provides a configuration capability which allows the User to
  2807.     customize the editor to suit individual preferences.  There are a
  2808.     wide range of options which may be customized including key
  2809.     assignments, color, tab settings, and printer options.
  2810.  
  2811.     Of course, customizing QEdit is not a requirement.  If you like the
  2812.     editor exactly the way it is, it will not be necessary to use the
  2813.     configuration program.
  2814.  
  2815.     The configuration program is QCONFIG.EXE and is included on the
  2816.     distribution diskette, along with the other QEdit software. The
  2817.     configuration program customizes QEdit by actually modifying the
  2818.     editor program itself - Q.EXE.
  2819.  
  2820.                                        ┌─────────────────────────────────┐
  2821.                                        │ QEdit Tip:                      │
  2822.                                        │   Before running the            │
  2823.                                        │   configuration program, make   │
  2824.                                        │   a backup copy of the original │
  2825.                                        │   QEdit distribution disk.      │
  2826.                                        └─────────────────────────────────┘
  2827.  
  2828.  
  2829.     Initiating the Configuration Program
  2830.     ─────────────────────────────────────────────────────────────────────────
  2831.  
  2832.     To initiate the configuration program, type "qconfig <Enter>" from
  2833.     the DOS command line.  The program will request the name of the
  2834.     editor program to customize with the prompt:
  2835.  
  2836.     ┌────────────────────────────────────────────────────────────────┐
  2837.     │   Enter program name to config, <CR> for Q.EXE :               │
  2838.     └────────────────────────────────────────────────────────────────┘
  2839.  
  2840.     Simply press <Enter>, unless you have previously renamed the
  2841.     editor or if the editor is located in another directory.
  2842.  
  2843.     If you have renamed the editor, enter the appropriate filename and
  2844.     press <Enter>.  If the editor is located in another directory,
  2845.     enter the full pathname and press <Enter>.
  2846.  
  2847.     The program will then request an optional new name for the
  2848.     customized editor with the prompt:
  2849.  
  2850.     ┌────────────────────────────────────────────────────────────────┐
  2851.     │   Enter new name for Q.EXE, <CR> for Q.EXE :                   │
  2852.     └────────────────────────────────────────────────────────────────┘
  2853.  
  2854.     If you wish to name the newly customized program something besides
  2855.     Q.EXE, enter the new filename and press <Enter>.  Otherwise, simply
  2856.     press <Enter>.
  2857.  
  2858.     If the file to be customized could not be located on disk, this
  2859.     error message will be displayed:
  2860.  
  2861.     ┌────────────────────────────────────────────────────────────────┐
  2862.     │FATAL ERROR: Q.EXE not found                                    │
  2863.     └────────────────────────────────────────────────────────────────┘
  2864.  
  2865.                                   2-2
  2866.  
  2867.  
  2868.     Check the editor's filename and/or path for accuracy.
  2869.  
  2870.     If the version numbers of the editor and the configuration program
  2871.     are not the same, this error message will be displayed:
  2872.  
  2873.     ┌────────────────────────────────────────────────────────────────┐
  2874.     │FATAL ERROR: patch area not found                               │
  2875.     └────────────────────────────────────────────────────────────────┘
  2876.  
  2877.     Try reloading the QEdit software from the distribution disk
  2878.     (i.e., Q.EXE and QCONFIG.EXE).
  2879.  
  2880.  
  2881.     The Configuration Menu
  2882.     ─────────────────────────────────────────────────────────────────────────
  2883.  
  2884.     The configuration program will display a menu from which to select
  2885.     the desired functions for customization.
  2886.  
  2887.     ┌────────────────────────────────────────────────────────────────┐
  2888.     │   Configuration choices.                                       │
  2889.     │   Choose One of the Following by pressing the indicated Key:   │
  2890.     │                                                                │
  2891.     │   A)dvanced options                                            │
  2892.     │   C)olors/screen                                               │
  2893.     │   G)eneral options                                             │
  2894.     │   H)elp install                                                │
  2895.     │   K)eys                                                        │
  2896.     │   P)rinter options                                             │
  2897.     │   Q)uit                                                        │
  2898.     │   S)ave changes and quit                                       │
  2899.     │   T)ab settings                                                │
  2900.     └────────────────────────────────────────────────────────────────┘
  2901.  
  2902.     Following is a brief explanation of these menu items.  They will
  2903.     each be discussed in detail in this chapter.
  2904.  
  2905.     A)dvanced options
  2906.         Contains a variety of configurable options, including those
  2907.         related to video display, DOS memory, and editor menus.
  2908.  
  2909.     C)olors/screen
  2910.         Allows you to change colors of various editor displays when
  2911.         using a color monitor.
  2912.  
  2913.     G)eneral options
  2914.         A miscellaneous category of options.
  2915.  
  2916.     H)elp install
  2917.         Allows you to create your own Help Screen.
  2918.  
  2919.                                   2-3
  2920.  
  2921.  
  2922.     K)eys
  2923.         Allows you to reassign editor commands to different keys.
  2924.  
  2925.     P)rinter options
  2926.         Allows you to set options for printing text, such as page size.
  2927.  
  2928.     Q)uit
  2929.         Terminates the program.  You will first be prompted to save or
  2930.         not to save changes.
  2931.  
  2932.     S)ave changes and quit
  2933.         After you have made all of the desired changes, press <S> to
  2934.         save the changes and terminate the program.
  2935.  
  2936.     T)ab settings
  2937.         Allows you to set the physical and cursor tab widths.
  2938.  
  2939.  
  2940.     Choose the category that you wish to customize by pressing the first
  2941.     letter of the corresponding menu item.  You will be prompted for a
  2942.     response to each option within the category.  Each configuration
  2943.     option will be displayed along with its current value.  (The Keys
  2944.     and Help install categories, however, work a little differently in
  2945.     that they request a filename.)
  2946.  
  2947.     For each option displayed, you may enter a new value. If you do not
  2948.     wish to change the current value, simply press <Enter>.  After you
  2949.     have reviewed all options in a category, you will be returned to
  2950.     the main menu where you may select another category.
  2951.  
  2952.     Once you have completed customizing, you may save all the changes
  2953.     you have made by pressing <S> at the main menu prompt.  Your changes
  2954.     will be made permanent (that is, effective the next time you execute
  2955.     the editor), and the configuration program will be terminated.
  2956.  
  2957.     If you decide that you do not want to save your changes, press <Q>.
  2958.     The prompt "Save Changes (Y/N)?" will be displayed.  Simply press <N>.
  2959.     No changes will be saved and the configuration program will be
  2960.     terminated.
  2961.  
  2962.                                   2-4
  2963.  
  2964.  
  2965.  
  2966.     Advanced Options
  2967.     ─────────────────────────────────────────────────────────────────────────
  2968.  
  2969.     This section contains a list of the Advanced Options which can be
  2970.     customized using the configuration program. The configuration
  2971.     program prompt, the default value, and a description are given for
  2972.     each option.
  2973.  
  2974.     ■ Test for presence of EGA or VGA adapters (Y/N)? [Y] :
  2975.         For Concurrent PC-DOS (a Digital Research version of DOS) users
  2976.         only, this option should be set to <N>.
  2977.  
  2978.     ■ Should QEdit change the cursor size (Y/N)? [Y] :
  2979.         By default, QEdit uses a small cursor when Insert mode is OFF
  2980.         and a medium cursor when Insert mode is ON.  Selecting <N> will
  2981.         tell QEdit not to change the cursor size.
  2982.  
  2983.     ■ Fast screen updating with "flicker" OK (CGA's only)(Y/N)? [N] :
  2984.         It may be helpful to review the "snow" checking option in the
  2985.         "Colors/Screen Options" section in this chapter before reading
  2986.         further.
  2987.  
  2988.         If your system has a Color/Graphics Adapter card and you are not
  2989.         happy with the "snow" option set to <Y> (screen updates too
  2990.         slowly) or set to <N> (too much "snow"), try setting this option
  2991.         to <Y>.
  2992.  
  2993.     ■ Number of rows on physical screen [25..100] [25] :
  2994.         If your adapter supports more than a 25-line screen, you can
  2995.         specify that number here.  NOTE that this option is NOT meant
  2996.         for EGA or VGA extended modes.  QEdit handles this
  2997.         automatically.  This option is for other non-standard adapters
  2998.         which allow more than 25 lines on the screen.
  2999.  
  3000.     ■ Do you want the Return command to split lines in insert mode
  3001.       (Y/N)? [Y] :
  3002.         Normally, the Return command splits the current line at the
  3003.         cursor when pressed in Insert mode. This means that the part of
  3004.         the line following the cursor will be inserted on a new line.
  3005.         If Insert mode is OFF, the Return command will simply place the
  3006.         cursor at the beginning of the next line.
  3007.  
  3008.         If you select <N> for this option, the Return command will
  3009.         always act as if Insert mode is OFF.  Return will move the
  3010.         cursor to the beginning of the next line with no effect on the
  3011.         text.
  3012.  
  3013.     ■ Should Cut and Copy use current line if no block marked(Y/N)? [N] :
  3014.         If a block is not marked, and you execute the Cut or Copy
  3015.         command, the current cursor line will be affected if you enter
  3016.         <Y> for this option.
  3017.  
  3018.                                   2-5
  3019.  
  3020.  
  3021.     ■ Amount of memory to reserve from DOS (in paragraphs)
  3022.       [0,8..32767]  [0] :
  3023.         COMMAND.COM normally occupies the high end of DOS memory. If a
  3024.         program uses all available DOS memory, then COMMAND.COM can be
  3025.         overlayed and will have to be reloaded when the application is
  3026.         finished.  This really is not a problem on a hard disk system,
  3027.         as the reload takes a very short time.  On a diskette based
  3028.         system, the delay can be somewhat annoying.  Specifying a value
  3029.         of 1400 should keep COMMAND.COM from having to be reloaded on
  3030.         any DOS version through 3.3.  Please note that this will deny
  3031.         QEdit of an additional 22k of memory.
  3032.  
  3033.     ■ Code generated by ALT numeric keypad  [0] :
  3034.         The <Alt> numeric keypad can be used to enter just about any of
  3035.         the characters in the IBM PC character set.  Characters are
  3036.         entered by holding down the <Alt> key and pressing the decimal
  3037.         number(s) that represents that character.  On IBM PC's this
  3038.         action returns a scan code of 0.  A small number of compatible
  3039.         PC's return a different scan code.  If your PC returns a
  3040.         different scan code for the <Alt> numeric keypad, enter it here.
  3041.  
  3042.     ■ Do you want the ESCAPE command to invoke the menus (Y/N)? [Y] :
  3043.         By default, the Escape command displays the "Pop-Down" menus,
  3044.         when executed outside of the menus or any QEdit prompts.  If you
  3045.         do NOT want the Escape command to do this, select <N> for this
  3046.         option.
  3047.  
  3048.     ■ Do you want to invoke the editor at a specified line number
  3049.       (Y/N)? [N] :
  3050.         If you choose <Y>, QEdit will position the cursor at a specified
  3051.         line number in a file when the file is loaded into the editor.
  3052.         For example, to load "file1" at line number 125, simply type
  3053.         "q file1 125 <Enter>" from the DOS command line or "file1 125"
  3054.         at any QEdit "file to edit" prompt.
  3055.  
  3056.  
  3057.     Colors/Screen Options
  3058.     ─────────────────────────────────────────────────────────────────────────
  3059.  
  3060.     This section contains a list of the Screen and Screen Color Options
  3061.     which can be customized using the configuration program. The
  3062.     configuration program prompt, the default value, and a description
  3063.     are given for each option.
  3064.  
  3065.     ■ Statusline position: "T" for top, "B" for bottom  [T] :
  3066.         The Status Line may be positioned at the top or at the bottom
  3067.         line of the screen.
  3068.  
  3069.     ■ Do you want the display "boxed" (Y/N)? [N] :
  3070.         The editing screen may be completely enclosed in a box.
  3071.  
  3072.                                   2-6
  3073.  
  3074.  
  3075.     ■ Do you want the original screen restored upon termination (Y/N)? [Y] :
  3076.         QEdit can optionally restore the original screen upon exiting
  3077.         the program.  Be aware that selecting this option takes up 4k of
  3078.         memory.  But it is very handy after long uninterrupted editing
  3079.         sessions to see what you were doing before you started.
  3080.  
  3081.     ■ Do you want "snow" checking (Y/N)? [Y] :
  3082.         If QEdit determines that your system has a Color/Graphics
  3083.         Adapter card (CGA), the editor will not write to the screen at
  3084.         full speed in order to avoid "snow" (a sparkling appearance on
  3085.         the screen that results from updating the screen too quickly).
  3086.  
  3087.         If you have a COMPAQ, ZENITH, or other color adapter that allows
  3088.         full speed screen updating without "snow", you should select
  3089.         <N>. Also, if you would rather have fast screen updating in
  3090.         spite of the "snow", select <N>.  For yet another method of
  3091.         handling "snow", refer to the "Fast Screen Updating" option in
  3092.         the "Advanced Options" section in this chapter.
  3093.  
  3094.         This option has no effect on  monochrome and true EGA/VGA cards.
  3095.  
  3096.     ■ Number of columns to scroll horizontally for screen lt/rt
  3097.       commands [1..400] [1] :
  3098.         This is the number of columns that QEdit should scroll when you
  3099.         enter the ScreenLeft or ScreenRight commands.
  3100.  
  3101. ┌────────────────────────────────────────────────────────────────────────────────┐
  3102. │Attribute chart/guide. [0..127]                                                 │
  3103. │                                                                                │
  3104. │[  0][  1][  2][  3][  4][  5][  6][  7][  8][  9][ 10][ 11][ 12][ 13][ 14][ 15]│
  3105. │[ 16][ 17][ 18][ 19][ 20][ 21][ 22][ 23][ 24][ 25][ 26][ 27][ 28][ 29][ 30][ 31]│
  3106. │[ 32][ 33][ 34][ 35][ 36][ 37][ 38][ 39][ 40][ 41][ 42][ 43][ 44][ 45][ 46][ 47]│
  3107. │[ 48][ 49][ 50][ 51][ 52][ 53][ 54][ 55][ 56][ 57][ 58][ 59][ 60][ 61][ 62][ 63]│
  3108. │[ 64][ 65][ 66][ 67][ 68][ 69][ 70][ 71][ 72][ 73][ 74][ 75][ 76][ 77][ 78][ 79]│
  3109. │[ 80][ 81][ 82][ 83][ 84][ 85][ 86][ 87][ 88][ 89][ 90][ 91][ 92][ 93][ 94][ 95]│
  3110. │[ 96][ 97][ 98][ 99][100][101][102][103][104][105][106][107][108][109][110][111]│
  3111. │[112][113][114][115][116][117][118][119][120][121][122][123][124][125][126][127]│
  3112. │                                                                                │
  3113. │Select attributes from the chart above.                                         │
  3114. └────────────────────────────────────────────────────────────────────────────────┘
  3115.  
  3116.  
  3117.     The chart above is for use with the following Screen Color Options.
  3118.     Enter a number, in response to each option, based on the color in
  3119.     which the number appears on the chart.
  3120.  
  3121.                                   2-7
  3122.  
  3123.  
  3124.     If you have a monochrome screen, many of the values in the chart
  3125.     will appear to be the same color.  However, you will still have the
  3126.     options of normal, highlighted, underlined, and reverse video. If you
  3127.     have a color monitor you can take advantage of a wider array of
  3128.     options.
  3129.  
  3130.     ■ Blocked Text [112]:
  3131.         The color used for marked Blocks.
  3132.  
  3133.     ■ Error msgs [112]:
  3134.         The color used for warning and error messages.
  3135.  
  3136.     ■ Text Area [7]:
  3137.         The color used for normal text (the editing screen).
  3138.  
  3139.     ■ Status Line [9]:
  3140.         The color used for the Status Line.
  3141.  
  3142.     ■ Cursor Line [15]:
  3143.         The color used for the cursor line.  Reverts to normal when a
  3144.         block is marked.
  3145.  
  3146.     ■ Messages [15]:
  3147.         The color used for QEdit messages.
  3148.  
  3149.     ■ Hi-lited items [9]:
  3150.         The color used for "found" search strings when using the Find
  3151.         and FindReplace commands.
  3152.  
  3153.     ■ EOF line/indicator [15]:
  3154.         The color used for the "end of file" line.
  3155.  
  3156.     ■ Help screen [112]:
  3157.         The color used for the Help Screen.
  3158.  
  3159.     ■ Box borders [15]:
  3160.         The color used for box borders.
  3161.  
  3162.     ■ PopUp windows [15]:
  3163.         The color used for the background of the "Pop-Down" menus.
  3164.  
  3165.     ■ Menu items [15]:
  3166.         The color used for items within menus.
  3167.  
  3168.     ■ Selected Menu items [112]:
  3169.         The color used for selected items within menus.
  3170.  
  3171.                                   2-8
  3172.  
  3173.  
  3174.  
  3175.     General Options
  3176.     ─────────────────────────────────────────────────────────────────────────
  3177.  
  3178.     This section contains a list of the General Options which can be
  3179.     customized using the configuration program.  The configuration
  3180.     program prompt, the default value, and a description are given for
  3181.     each option.
  3182.  
  3183.     ■ Do you want the DelCh command to join lines if at EOL (Y/N)? [Y] :
  3184.         If you want the DelCh command to be restricted so that it only
  3185.         works on the current line, then select <N> for this option.  If
  3186.         you select <Y>, the command will work across line breaks.  This
  3187.         means that if you issue DelCh at the end of the line, the
  3188.         following line will be joined to the end of the cursor line
  3189.         (just as if you had issued a JoinLine command).
  3190.  
  3191.     ■ Do you want the PQuit, Exit, and File commands to return to
  3192.       "EditFile" prompt (Y/N)? [Y] :
  3193.         If only 1 file is being edited, QEdit can either terminate or
  3194.         ask for another file to edit whenever the PQuit, Exit, or File
  3195.         commands are executed.  Enter <N> to terminate.
  3196.  
  3197.     ■ Do you want the editor to start in Wordwrap Mode (Y/N)? [N] :
  3198.  
  3199.     ■ Default right margin for Wordwrap [1..512] [60] :
  3200.  
  3201.     ■ Do you want the editor to start in Insert Mode (Y/N)? [Y] :
  3202.  
  3203.     ■ Do you want the editor to start in Autoindent Mode (Y/N)? [Y] :
  3204.  
  3205.     ■ Load wildcarded filespecs from the command line (Y/N)? [Y] :
  3206.         When QEdit encounters a wildcarded file specification (* or ?)
  3207.         from the DOS command line, it will do one of two things
  3208.         depending on this option setting.  If you select <Y>, the editor
  3209.         will load every file that matches the wildcarded specification.
  3210.         (For example, if you entered "q *.doc", QEdit would load all
  3211.         files with the extension ".doc"). However, if you select <N>,
  3212.         QEdit will display a "Pop-Down" menu list of all the files which
  3213.         match the wildcarded specification.  You can then choose the file
  3214.         you want to edit by using the cursor keys and pressing <Enter>.
  3215.  
  3216.     ■ Load wildcarded filespecs from inside the editor (Y/N)? [N] :
  3217.         This option is similar to the previous one, except that it
  3218.         refers to the EditFile command rather than the DOS command line
  3219.         used at startup.  If you use a wildcard character with EditFile
  3220.         it will either load all matching files, or show you a list of
  3221.         matching files, depending on your choice for this option.
  3222.         Select <Y> to load all matching files and <N> to display a list of
  3223.         matching files.
  3224.  
  3225.                                   2-9
  3226.  
  3227.  
  3228.     ■ Do you want the editor to start in "enter matching" mode (Y/N)? [N] :
  3229.         When ON, the double quote, parenthesis, and square bracket
  3230.         keys all automatically enter the matching character when the
  3231.         left character is entered.  For example, typing the '[' key
  3232.         automatically enters a ']' immediately following.
  3233.  
  3234.     ■ Use CMODE for .c and .h files (Y/N)? [Y] :
  3235.         C mode is included primarily for editing C Language programs.  C
  3236.         mode is only in effect when AutoIndent mode is also ON.  When C
  3237.         mode is active, <Enter> typed on a line containing a '{' does a
  3238.         normal return and then issues a TabRt command.  Subsequently,
  3239.         when a '}' is typed, a TabLt command is issued.
  3240.  
  3241.     ■ Default number of deleted lines to keep per file [0..300] [30] :
  3242.         QEdit saves a certain number of deleted lines and blocks, which
  3243.         can later be recalled using the UnKill command.  This option
  3244.         allows you to select the maximum number of lines QEdit can save
  3245.         for every edited file.
  3246.  
  3247.     ■ Remove trailing blanks from edited lines (Y/N)? [Y] :
  3248.         When you edit a line of text, QEdit can either remove trailing
  3249.         blanks from that line or leave it as is.  For most purposes,
  3250.         the remove option is preferable, as it will generally create
  3251.         smaller files.
  3252.  
  3253.     ■ Delete white space after words with DelRtWord command (Y/N)? [Y] :
  3254.         If you enter the DelRtWord command, it deletes the "word" to the
  3255.         right of the cursor.  This option causes DelRtWord to
  3256.         delete the blank space which follows the word as well.
  3257.  
  3258.     ■ Terminate files with a Control Z (Y/N)? [N] :
  3259.         MS/PC-DOS versions 2.0 thru 3.3 do NOT require an end of file
  3260.         terminator (the exact size of the file is stored in the
  3261.         directory).  However, some programs that were directly
  3262.         translated from their CP/M versions still require the Control Z
  3263.         end of file marker.  If you have one of these programs for which
  3264.         you are creating text files, you should select <Y> for this
  3265.         option.
  3266.  
  3267.     ■ Do you want "backups" of saved files (Y/N)? [Y] :
  3268.         Select <Y> if you want a backup file (an image of the file
  3269.         before you did any editing) with the .bak extension saved each
  3270.         time you save a file.
  3271.  
  3272.     ■ Prompt for filename on open window (Y/N)? [N] :
  3273.         If you enter the HorizontalWindow command, QEdit can either
  3274.         prompt you for the name of the file you want to load into the
  3275.         new window or load the next file in the ring into the new
  3276.         window (in the latter case, if only one file is being edited
  3277.         another window for the same file is opened).
  3278.  
  3279.         To have QEdit prompt you for a filename, select <Y>.  To have it
  3280.         load the next file in the ring, select <N>.
  3281.  
  3282.                                   2-10
  3283.  
  3284.  
  3285.     ■ Close window when a file is quit (Y/N)? [Y] :
  3286.         If you enter any command which discards a file from the editor
  3287.         whenever more than one window is open, QEdit can either load
  3288.         the next file in the ring into that window or close that
  3289.         window.
  3290.  
  3291.         To have QEdit close the window, select <Y>.  To have it load the
  3292.         next file in the ring, select <N>.
  3293.  
  3294.     ■ Display End Of File marker (Y/N)? [Y] :
  3295.         QEdit can optionally display a line at the end of the file in
  3296.         the following format:
  3297.  
  3298.                    <*** End of File ***>
  3299.  
  3300.     ■ Insert line blocks ABOVE the cursor line (Y/N)? [N] :
  3301.         Line blocks can either be inserted (with the Paste, CopyBlock,
  3302.         or MoveBlock command) above or below the current cursor line.
  3303.  
  3304.     ■ Default Find options [IWB] [I]:
  3305.         Select the default search options when using the Find command.
  3306.         The options are:
  3307.  
  3308.         I - Ignore Case.  The Find command will ignore lower and upper
  3309.             case when searching for a matching string.
  3310.  
  3311.         W - Words Only.  The Find command will search for matching
  3312.             strings which are whole words only.  For example, with the
  3313.             "W" option on, searching for the string "not", QEdit would
  3314.             ignore strings such as "cannot", "notes", etc. and only
  3315.             identify occurrences of the string "not" delimited by
  3316.             spaces.
  3317.  
  3318.         B - Backwards Search.  This option causes the Find command to
  3319.             begin with the current cursor position and search backwards
  3320.             toward the beginning of the file.
  3321.  
  3322.         Note that even when these options are not selected as defaults,
  3323.         they can still be selected from within the editor whenever the
  3324.         Find command is executed.
  3325.  
  3326.     ■ Default FindReplace options [IWBN] [I]:
  3327.  
  3328.         Select the default search and replace options when using the
  3329.         FindReplace command.  The options are:
  3330.  
  3331.         I - Ignore Case.  The FindReplace command will ignore lower and
  3332.             upper case when searching for a matching string.
  3333.  
  3334.                                   2-11
  3335.  
  3336.  
  3337.         W - Words Only.  The FindReplace command will search for
  3338.             matching strings which are whole words only.  For example,
  3339.             with the "W" option on, searching for the string "not",
  3340.             QEdit would ignore strings such as "cannot", "notes", etc.
  3341.             and only identify occurrences of the string "not" delimited
  3342.             by spaces.
  3343.  
  3344.         B - Backwards Search.  This option causes the FindReplace
  3345.             command to begin with the current cursor position and search
  3346.             backwards toward the beginning of the file.
  3347.  
  3348.         N - No Prompting.  The FindReplace command will not prompt when
  3349.             it identifies a matching string; instead, all occurrences of
  3350.             the search string will be replaced with the new string.
  3351.  
  3352.         Note that even when these options are not selected as defaults,
  3353.         they can still be selected from within the editor whenever the
  3354.         FindReplace command is executed.
  3355.  
  3356.     ■ Default file extension number 1 [.pas]:
  3357.  
  3358.     ■ Default file extension number 2 [.inc]:
  3359.  
  3360.     ■ Default file extension number 3 [.asm]:
  3361.  
  3362.     ■ Default file extension number 4 [.c]:
  3363.  
  3364.     ■ Default file extension number 5 [.h]:
  3365.  
  3366.     ■ Default file extension number 6 [.doc]:
  3367.  
  3368.         Six default file extensions are provided to save keystrokes each
  3369.         time a filename to edit is entered.  These file extensions are
  3370.         used whenever QEdit is executed with a filename from the command
  3371.         line or whenever the EditFile command is entered.
  3372.  
  3373.         When using QEdit, if the filename entered does not have a period
  3374.         (and does not include the DOS wildcard characters) and that
  3375.         file does NOT exist as named, QEdit appends the first default
  3376.         file extension to the name and tries to load that file.  If that
  3377.         file exists, then QEdit loads it for editing.  If it does not
  3378.         exist, QEdit will repeat the process with the other default file
  3379.         extensions.  If no files were found, then QEdit will create a
  3380.         new file as originally named.
  3381.  
  3382.                                   2-12
  3383.  
  3384.  
  3385.  
  3386.     The Help Screen
  3387.     ─────────────────────────────────────────────────────────────────────────
  3388.  
  3389.     QEdit allows you to create a customized one page Help Screen, which
  3390.     may be displayed at any time from within the editor by entering the
  3391.     QuickHelp <F1> command.
  3392.  
  3393.     Of course, you may prefer to use the default Help Screen which is
  3394.     already loaded into QEdit.  In that case no action is required.
  3395.     However, if you want to design and use your own Help Screen, simply
  3396.     follow these steps:
  3397.  
  3398.     1. Create an 80 x 25 (80 columns by 25 lines) text file (you can use
  3399.        QEdit to create this file) and list all of the information that
  3400.        should appear on the screen when the QuickHelp command is
  3401.        entered.  We suggest that you list less frequently used commands
  3402.        in this file, while leaving out more familiar commands such as
  3403.        cursor movement and paging.
  3404.  
  3405.     2. Run QCONFIG.EXE and select option <H> from the menu.
  3406.  
  3407.     3. You will be prompted for the name of the Help file just created.
  3408.        Enter that name.
  3409.  
  3410.     That is all there is to it!  The next time you enter QuickHelp from
  3411.     within QEdit, your customized Help Screen will be displayed.
  3412.  
  3413.  
  3414.     Keyboard Configuration
  3415.     ─────────────────────────────────────────────────────────────────────────
  3416.  
  3417.     QEdit provides the extremely helpful capability of assigning editor
  3418.     commands (and strings of characters) to almost any key you prefer.
  3419.  
  3420.     This allows you to assign frequently used commands to keys which are
  3421.     most convenient for your use or you may wish to reassign commands
  3422.     completely to emulate another text editor or word processor with
  3423.     which you are already familiar.
  3424.  
  3425.     By taking a few minutes to review this section, your future text
  3426.     editing may become significantly smoother and more comfortable as a
  3427.     result of customizing your keyboard to suit your individual
  3428.     preferences.
  3429.  
  3430.                                   2-13
  3431.  
  3432.  
  3433.  
  3434.     The Keyboard Definition File
  3435.  
  3436.     QEdit uses the Keyboard Definition file to customize the keyboard.
  3437.     This file contains a list of all the keys to which commands may be
  3438.     assigned.  Supplied with QEdit is a Keyboard Definition file called
  3439.     QCONFIG.DAT which contains the default settings for the keyboard.
  3440.     Other files are supplied which emulate certain common word
  3441.     processors.  WordStar command keys can be emulated using the
  3442.     WSKEY.DAT Keyboard Definition file.  Brief command keys can be
  3443.     emulated using the BRIEF.DAT Keyboard Definition file.
  3444.  
  3445.     The Keyboard Definition file consists of a list of configurable keys
  3446.     and the commands or macros which are assigned to them.  The
  3447.     configurable keys are on the left side of the file with the commands
  3448.     or macros assigned to the keys on the right.  Blank lines and lines
  3449.     starting with an asterisk "*" are ignored. The QCONFIG.DAT file, as
  3450.     well as Appendix B, contains a complete list of configurable keys.
  3451.  
  3452.     Control keys are specified with a "^".  For example:
  3453.  
  3454.         ^f1 or ^F1 specifies Control F1
  3455.         ^c  or ^C  specifies Control C
  3456.         ^PgUp      specifies Control PgUp
  3457.  
  3458.     Alternate keys are specified with a "@".  For example:
  3459.  
  3460.         @f1 or @F1 specifies Alt F1
  3461.         @c  or @C  specifies Alt C
  3462.         @PgUp      specifies Alt PgUp
  3463.  
  3464.     Shift keys are specified with a "#".  For example:
  3465.  
  3466.         #f1 or #F1 specifies Shift F1
  3467.  
  3468.     The format of a line in the Keyboard Definition file is simply the
  3469.     keystroke followed by the command.  For example:
  3470.  
  3471.         f1                      QuickHelp
  3472.         #f5                     MakeCtrofScreen
  3473.         @f2                     InsertLine
  3474.         cursorup                CursorUp
  3475.         ^cursorleft             WordLeft
  3476.         backspace               Backspace
  3477.         ^backspace              DelLtWord
  3478.         @a                      DropAnchor
  3479.         ^a                      WordLeft
  3480.  
  3481.                                   2-14
  3482.  
  3483.  
  3484.                                    ┌─────────────────────────────────┐
  3485.                                    │ QEdit Tip:                      │
  3486.                                    │   The configuration program     │
  3487.                                    │   ignores the case of the       │
  3488.                                    │   command, as well as any       │
  3489.                                    │   underscores that may be       │
  3490.                                    │   embedded.  This means that    │
  3491.                                    │   InsertLine, insert_line, and  │
  3492.                                    │   Insert_Line all refer to the  │
  3493.                                    │   same command.                 │
  3494.                                    │                                 │
  3495.                                    │   Also, the order of the keys   │
  3496.                                    │   does not matter.  The         │
  3497.                                    │   configurable keys may be      │
  3498.                                    │   put in any order desired.     │
  3499.                                    └─────────────────────────────────┘
  3500.  
  3501.     There is also a provision for assigning commands to a "twokey". A
  3502.     twokey consists of two distinct keystrokes, such as <Ctrl B>
  3503.     immediately followed by <A>.  To assign a command to a twokey, enter
  3504.     both keystrokes of the twokey in the first column (keystroke column)
  3505.     separated by an underline.
  3506.  
  3507.     For example, to assign the Exit command to the twokey,
  3508.     <Ctrl F1> <F2>, enter the following into the Keyboard Definition
  3509.     file:
  3510.  
  3511.         ^f1_f2     Exit
  3512.  
  3513.     Through the use of macros, multiple commands and/or text may be
  3514.     assigned to any configurable key (Macros, however, cannot be
  3515.     assigned to twokeys).  To define a macro, specify MacroBegin as the
  3516.     first command, followed by any combination of text and QEdit
  3517.     commands, each separated by a space.  Text should be enclosed in
  3518.     single or double quotes.  The commands and/or text must all fit on
  3519.     one line, not exceeding 255 characters in length.
  3520.  
  3521.     Example:
  3522.  
  3523.         f1  MacroBegin EditFile 'help.dat' Return
  3524.  
  3525.     This macro would load the file 'help.dat'.  Note that the Return
  3526.     command is issued after the text.  This is required to terminate the
  3527.     QEdit prompt.
  3528.  
  3529.     Example:
  3530.  
  3531.         @t  MacroBegin GSave Dos 'tpc ' CurrentFilename Return
  3532.  
  3533.     Now, when you press <Alt T>, all changed files will be saved and the
  3534.     Turbo Pascal compiler will be invoked on the current file.
  3535.  
  3536.     Example (the following must appear on 1 line in the Keyboard
  3537.     Definition file):
  3538.  
  3539.         @f1     MacroBegin EditFile 'errors.lst' Return Quit Dos
  3540.                 'tcc ' CurrentFilename ' >errors.lst' Return Return
  3541.                 HorizontalWindow EditFile 'errors.lst' Return
  3542.  
  3543.                                   2-15
  3544.  
  3545.  
  3546.     This macro will run the Turbo C compiler on the current file, saving
  3547.     the results to a file called "errors.lst", and loading that file
  3548.     into another window after the compile is finished.
  3549.  
  3550.     Additional examples can be found in Appendix D.  In general, any
  3551.     commonly used sequence of commands (or a useful, but complicated
  3552.     sequence of commands for that matter) is a good candidate for a
  3553.     macro.
  3554.  
  3555.  
  3556.     Creating a Keyboard Definition File
  3557.  
  3558.     To customize the keyboard using the default Keyboard Definition
  3559.     file, QCONFIG.DAT, no action is required.  QEdit is distributed with
  3560.     this Keyboard Definition file already loaded.
  3561.  
  3562.     To customize the keyboard using one of the supplied word processor
  3563.     emulation Keyboard Definition files, skip to step number 6 below.
  3564.  
  3565.     To create your own Keyboard Definition file, do the following:
  3566.  
  3567.     1. Load the file QCONFIG.DAT into QEdit (from the DOS command line
  3568.        type "q qconfig.dat <Enter>").
  3569.  
  3570.     2. Rename the file using the ChangeFilename command <Alt O>.
  3571.  
  3572.     3. Browse through the file using the Cursor Up and Down keys. Notice
  3573.        that the left side of the file contains a list of all
  3574.        configurable keys.  To the right of each key is the command or
  3575.        macro currently assigned to the key.  Some keys have no commands
  3576.        assigned.
  3577.  
  3578.     4. Change the commands assigned to the keys to suit your particular
  3579.        needs.  For more information on how to assign keys, refer to The
  3580.        Keyboard Definition file section above.
  3581.  
  3582.     5. Save the file and exit QEdit by pressing <Alt X>.
  3583.  
  3584.     6. Run QCONFIG.EXE and select option <K> from the menu.
  3585.  
  3586.     7. You will be prompted for the name of the Keyboard Definition
  3587.        file.  Enter the name of the Keyboard Definition file you wish to
  3588.        load.  If you are creating your own file, enter the new name
  3589.        chosen in step 2.
  3590.  
  3591.     8. Your key assignments will be incorporated into the editor
  3592.        program, Q.EXE.  The QCONFIG menu will again appear. Press <S> to
  3593.        save your changes and terminate the program.
  3594.  
  3595.     9. Run the editor to insure that your key assignments function as
  3596.        desired.
  3597.  
  3598.                                   2-16
  3599.  
  3600.  
  3601.  
  3602.     Printer Options
  3603.     ─────────────────────────────────────────────────────────────────────────
  3604.  
  3605.     This section contains a list of the Printer Options which can be
  3606.     customized using the configuration program.  The configuration
  3607.     program prompt, the default value, and a description are given for
  3608.     each option.
  3609.  
  3610.     ■ Default left margin for printing [0..80] [0]:
  3611.         This is the number of spaces QEdit skips before printing each
  3612.         line. If you do not want QEdit to skip any spaces at the
  3613.         beginning of each line, select zero.
  3614.  
  3615.     ■ Default page size for printing [0..400] [0]:
  3616.         QEdit will send a formfeed character to the printer after
  3617.         printing this number of lines.  If you do NOT want QEdit
  3618.         to send formfeeds (continuous printing), select zero.
  3619.  
  3620.     ■ Add formfeed after printing (Y/N)? [Y] :
  3621.         Should QEdit send a formfeed when printing is complete?  If you
  3622.         select <Y>, your forms should be correctly lined up in
  3623.         preparation for the next printing operation.
  3624.  
  3625.  
  3626.     Tab Settings
  3627.     ─────────────────────────────────────────────────────────────────────────
  3628.  
  3629.     This section contains a list of all Tab Setting Options which can be
  3630.     customized using the configuration program.  The configuration
  3631.     program prompt, the default value, and a description are given for
  3632.     each option.
  3633.  
  3634.     ■ Default physical tab width [2,4, or 8] [8]:
  3635.         Some word processors and text editors use and embed physical tab
  3636.         characters (ASCII 9's) into text files.  While QEdit does not use
  3637.         physical tab characters, it will handle files created by other
  3638.         editors containing physical tab characters.  When QEdit
  3639.         displays such a file, it expands physical tab characters found
  3640.         in the file and translates them on the screen to spaces. If, for
  3641.         example, you set the physical tab width at 8, and there is a
  3642.         physical tab character in column 12, QEdit would expand the tab
  3643.         character so that spaces from column 12 to column 16 would be
  3644.         displayed on the screen.
  3645.  
  3646.     ■ Default Cursor tab width [2..12] [8]:
  3647.         This is the tab width that QEdit uses when you enter the TabRt
  3648.         and TabLt commands.
  3649.  
  3650.     ■ Default file extension number 1 for default tabs [.pas]:
  3651.       Physical tab width for above [2]:
  3652.       Cursor tab width for above [2]:
  3653.  
  3654.                                   2-17
  3655.  
  3656.  
  3657.     ■ Default file extension number 2 for default tabs [.inc]:
  3658.       Physical tab width for above [2]:
  3659.       Cursor tab width for above [2]:
  3660.  
  3661.     ■ Default file extension number 3 for default tabs [.asm]:
  3662.       Physical tab width for above [8]:
  3663.       Cursor tab width for above [8]:
  3664.  
  3665.     ■ Default file extension number 4 for default tabs [.c]:
  3666.       Physical tab width for above [4]:
  3667.       Cursor tab width for above [4]:
  3668.  
  3669.     ■ Default file extension number 5 for default tabs [.h]:
  3670.       Physical tab width for above [4]:
  3671.       Cursor tab width for above [4]:
  3672.  
  3673.     ■ Default file extension number 6 for default tabs [.doc]:
  3674.       Physical tab width for above [8]:
  3675.       Cursor tab width for above [8]:
  3676.  
  3677.         QEdit allows you to set default physical and cursor tab widths
  3678.         for up to six different file extensions.  When a file is loaded
  3679.         that matches one of these extensions, these defaults are used.
  3680.         Otherwise, the defaults set in the first two Tab Settings are
  3681.         used.
  3682.  
  3683.                                   2-18
  3684.  
  3685.  
  3686.  
  3687.  
  3688.     Chapter 3. QEdit Command Reference
  3689.     =========================================================================
  3690.  
  3691.     This chapter contains a description for each of the QEdit commands.
  3692.     Where appropriate, the default key assignments are provided.
  3693.     Additionally, <Esc> sequences are given for those commands which can
  3694.     be accessed through the "Pop-Down" menus.
  3695.  
  3696.     To assign commands which do not have a default assignment or to
  3697.     change existing key assignments, refer to the "Keyboard
  3698.     Configuration" section of Chapter 2 for instructions.
  3699.  
  3700.  
  3701.     AddLine             <F2> or <Esc><E><A>
  3702.     ─────────────────────────────────────────────────────────────────────────
  3703.  
  3704.     Adds a blank line after the cursor line, placing the cursor on the
  3705.     newly created line.  The cursor column does not change.
  3706.  
  3707.  
  3708.     Align
  3709.     ─────────────────────────────────────────────────────────────────────────
  3710.  
  3711.     Aligns the text on the cursor line with the text on the line
  3712.     immediately before the cursor line and then positions the cursor on
  3713.     the next line.  The cursor column does not change.  If the cursor is
  3714.     on line one, or the previous line is blank, or the cursor line is
  3715.     blank, this command will only move the cursor to the next line.
  3716.  
  3717.  
  3718.     AppendScrbuff       <Ctrl BA>
  3719.     ─────────────────────────────────────────────────────────────────────────
  3720.  
  3721.     Appends the currently marked Block to the end of the named Scratch
  3722.     Buffer.  The existing contents of the named Scratch Buffer are not
  3723.     lost. If the named Scratch Buffer does not exist, a new Scratch
  3724.     Buffer will be created.
  3725.  
  3726.  
  3727.     Backspace           <Backspace>
  3728.     ─────────────────────────────────────────────────────────────────────────
  3729.  
  3730.     If Insert mode is ON:
  3731.      Deletes the character to the left of the cursor.  The text to the
  3732.      right of, and including the cursor position, shifts left one
  3733.      position. If the cursor is in column one, the cursor line is
  3734.      appended to the end of the preceding line.
  3735.  
  3736.     If Insert mode is OFF:
  3737.      Deletes the character to the left of the cursor.  The text to the
  3738.      right of the cursor does NOT close in or shift.  If the cursor is
  3739.      in column one, however, the cursor line will still be appended to
  3740.      the end of the previous line.
  3741.  
  3742.                                   3-2
  3743.  
  3744.  
  3745.  
  3746.     BegFile             <Ctrl PgUp>
  3747.     ─────────────────────────────────────────────────────────────────────────
  3748.  
  3749.     Positions the cursor at column one on the first line of the current
  3750.     file.
  3751.  
  3752.  
  3753.     BegLine             <Home>
  3754.     ─────────────────────────────────────────────────────────────────────────
  3755.  
  3756.     Positions the cursor at column one of the current cursor line.
  3757.  
  3758.  
  3759.     BegScreen           <Ctrl Home>
  3760.     ─────────────────────────────────────────────────────────────────────────
  3761.  
  3762.     Positions the cursor at the top line of the current window.  The
  3763.     cursor column does not change.
  3764.  
  3765.  
  3766.     ChangeFilename      <Alt O> or <Alt F><C> or <Esc><F><C>
  3767.     ─────────────────────────────────────────────────────────────────────────
  3768.  
  3769.     Changes the name of the current file.  QEdit will prompt for the new
  3770.     name.  If the file already exists, you will be required to confirm
  3771.     that you still want to rename the file.  This command will have no
  3772.     effect on disk files, until the renamed file is saved.
  3773.  
  3774.  
  3775.     CloseWindow         <Ctrl OC> or <Esc><W><C>
  3776.     ─────────────────────────────────────────────────────────────────────────
  3777.  
  3778.     Closes the current window, unless it is the only window which is
  3779.     open, in which case the command has no effect.
  3780.  
  3781.  
  3782.     Copy                <grey +>
  3783.     ─────────────────────────────────────────────────────────────────────────
  3784.  
  3785.     Copies the marked Block into the Scrap Buffer.  The Block is then
  3786.     unmarked.  If no Block is marked, the cursor line is copied into the
  3787.     Scrap Buffer.  The copying of the cursor line, when a Block is not
  3788.     marked, is configurable.  Refer to the "Advanced Options" section of
  3789.     Chapter 2 for more information.
  3790.  
  3791.  
  3792.     CopyBlock           <Alt C> or <Esc><B><C>
  3793.     ─────────────────────────────────────────────────────────────────────────
  3794.  
  3795.     Copies the marked Block to the cursor position.  If the Block is a
  3796.     line Block, it is copied either before or after the cursor line,
  3797.     depending on the configuration setting  (Refer to the "General
  3798.     Options" section of Chapter 2 for more information).  If the Block
  3799.     is a character Block, it is inserted immediately before the
  3800.     character on which the cursor is positioned.  The new Block is
  3801.     marked.
  3802.  
  3803.                                   3-3
  3804.  
  3805.  
  3806.  
  3807.     CurrentFilename
  3808.     ─────────────────────────────────────────────────────────────────────────
  3809.  
  3810.     Returns the name of the currently edited file, as if it had been
  3811.     typed at the keyboard.  This command is useful for manipulation of
  3812.     files from within macros.  It may only be used in response to QEdit
  3813.     prompting for a filename.
  3814.  
  3815.  
  3816.     CursorDown          <Cursor Down>
  3817.     ─────────────────────────────────────────────────────────────────────────
  3818.  
  3819.     Moves the cursor downward in the file to the next line.
  3820.  
  3821.  
  3822.     CursorLeft          <Cursor Left>
  3823.     ─────────────────────────────────────────────────────────────────────────
  3824.  
  3825.     Moves the cursor one character to the left.  When the cursor reaches
  3826.     the left edge of the screen, it stops, unless the text has been
  3827.     scrolled left, in which case the text scrolls right one position.
  3828.  
  3829.  
  3830.     CursorRight         <Cursor Right>
  3831.     ─────────────────────────────────────────────────────────────────────────
  3832.  
  3833.     Moves the cursor one character to the right.  When the cursor
  3834.     reaches the right end of the screen, the text starts scrolling left
  3835.     until the cursor reaches the maximum line length.
  3836.  
  3837.  
  3838.     CursorUp            <Cursor Up>
  3839.     ─────────────────────────────────────────────────────────────────────────
  3840.  
  3841.     Moves the cursor upward in the file to the previous line.
  3842.  
  3843.  
  3844.     Cut                 <grey ->
  3845.     ─────────────────────────────────────────────────────────────────────────
  3846.  
  3847.     Copies the marked Block into the Scrap Buffer.  The Block is then
  3848.     deleted from the file being edited.  If no Block is marked, the
  3849.     cursor line is cut into the Scrap Buffer.  The cutting of the cursor
  3850.     line, when a Block is not marked, is configurable.  Refer to the
  3851.     "Advanced Options" section of Chapter 2 for more information.
  3852.  
  3853.                                   3-4
  3854.  
  3855.  
  3856.  
  3857.     DelCh               <Del>
  3858.     ─────────────────────────────────────────────────────────────────────────
  3859.  
  3860.     Deletes the character at the current cursor position.  The line to
  3861.     the right of the cursor shifts left one position.  If the cursor
  3862.     position is past the last character on the line, the next line is
  3863.     appended to the cursor line.  The "joining" of the next line when
  3864.     the cursor is past the last character on the line is configurable.
  3865.     Refer to the "General Options" section of Chapter 2 for more
  3866.     information.
  3867.  
  3868.  
  3869.     DeleteBlock         <Alt G> or <Esc><B><D>
  3870.     ─────────────────────────────────────────────────────────────────────────
  3871.  
  3872.     Deletes the currently marked Block.  If there is not a Block marked
  3873.     in the current file, this command has no effect.
  3874.  
  3875.  
  3876.     DelLine             <Alt D> or <Esc><E><D>
  3877.     ─────────────────────────────────────────────────────────────────────────
  3878.  
  3879.     Deletes the cursor line.  The line following the cursor line becomes
  3880.     the new cursor line.
  3881.  
  3882.  
  3883.     DelLtWord           <Ctrl Backspace>
  3884.     ─────────────────────────────────────────────────────────────────────────
  3885.  
  3886.     Deletes the "word" to the left of the cursor.  If the cursor is in
  3887.     column one, the cursor line is appended to the end of the preceding
  3888.     line.
  3889.  
  3890.  
  3891.     DelRtWord           <Ctrl T>
  3892.     ─────────────────────────────────────────────────────────────────────────
  3893.  
  3894.     Deletes the "word" to the right of the cursor.  If the cursor
  3895.     position is past the last character on the line, the next line is
  3896.     appended to the cursor line.
  3897.  
  3898.  
  3899.     DelToEol            <F6> or <Esc><E><E>
  3900.     ─────────────────────────────────────────────────────────────────────────
  3901.  
  3902.     Deletes text on the cursor line, from the cursor position to the end
  3903.     of line.
  3904.  
  3905.  
  3906.     Dos                 <Alt F9>
  3907.     ─────────────────────────────────────────────────────────────────────────
  3908.  
  3909.     QEdit prompts for a command, which is passed to DOS for execution.
  3910.     After the command is executed by DOS, control is returned to QEdit.
  3911.     If you want to execute a series of commands in DOS, you should use
  3912.     the Shell command, described later in this chapter.
  3913.  
  3914.                                   3-5
  3915.  
  3916.                                        ┌─────────────────────────────────┐
  3917.                                        │ QEdit Tip:                      │
  3918.                                        │   You should NOT execute any    │
  3919.                                        │   TSR (terminate and stay       │
  3920.                                        │   resident) commands here.      │
  3921.                                        │   These include the DOS print   │
  3922.                                        │   and graph commands and        │
  3923.                                        │   memory-resident programs      │
  3924.                                        │   such as Sidekick and Superkey.│
  3925.                                        └─────────────────────────────────┘
  3926.  
  3927.     DropAnchor          <Alt A>
  3928.     ─────────────────────────────────────────────────────────────────────────
  3929.  
  3930.     This command is used to mark a character Block.  Initially executing
  3931.     this command will mark one end of a Block at the cursor position.
  3932.     As the cursor is moved, the Block will "grow" with it.  Executing
  3933.     this command again will mark the other end of the Block at the
  3934.     cursor position.  If DropAnchor is executed in a file that already
  3935.     contains a character Block, the Block is extended to the current
  3936.     cursor position.
  3937.  
  3938.  
  3939.     DupLine             <F4>
  3940.     ─────────────────────────────────────────────────────────────────────────
  3941.  
  3942.     Makes a copy of the current cursor line and inserts the copy
  3943.     immediately following the cursor line.  The cursor is moved to the
  3944.     new line.
  3945.  
  3946.  
  3947.     EditFile            <Alt E> or <Alt F><L> or <Esc><F><L>
  3948.     ─────────────────────────────────────────────────────────────────────────
  3949.  
  3950.     The editor prompts for the name(s) of the additional file(s) to be
  3951.     edited.  Wildcard characters (* or ?) are permissible, as are
  3952.     multiple filenames.  The editor will not load multiple copies of the
  3953.     same file.  If you issue the EditFile command using the name of a
  3954.     file that has already been loaded, QEdit will simply make that file
  3955.     the current file.
  3956.  
  3957.  
  3958.     EndFile             <Ctrl PgDn>
  3959.     ─────────────────────────────────────────────────────────────────────────
  3960.  
  3961.     Positions the cursor on the last line of the file immediately
  3962.     following the last non-blank character.  If the last line of the
  3963.     file is blank, the cursor is positioned in column one.
  3964.  
  3965.  
  3966.     EndLine             <End>
  3967.     ─────────────────────────────────────────────────────────────────────────
  3968.  
  3969.     Positions the cursor immediately following the last non-blank
  3970.     character on the cursor line.
  3971.  
  3972.                                   3-6
  3973.  
  3974.  
  3975.  
  3976.     EndScreen           <Ctrl End>
  3977.     ─────────────────────────────────────────────────────────────────────────
  3978.  
  3979.     The cursor is positioned on the last line of the current window.  The
  3980.     cursor column does not change.
  3981.  
  3982.  
  3983.     Escape              <Esc>
  3984.     ─────────────────────────────────────────────────────────────────────────
  3985.  
  3986.     If executed while editing, the "Pop-Down" menus are displayed.
  3987.     Otherwise, this command aborts any editor prompt.
  3988.  
  3989.  
  3990.     ExecuteScrap        <Ctrl Enter>
  3991.     ─────────────────────────────────────────────────────────────────────────
  3992.  
  3993.     Plays back the latest macro that was created using the MacroRecord
  3994.     command.
  3995.  
  3996.  
  3997.     Exit                <Ctrl KD>
  3998.     ─────────────────────────────────────────────────────────────────────────
  3999.  
  4000.     Conditionally discards the current file.  If the file has not been
  4001.     modified, the file is discarded without prompting.  If the file has
  4002.     been modified, the editor prompts with "Save Changes (Y/N)?".
  4003.     Pressing <Y> will save and then discard the file.  Pressing <N> will
  4004.     discard the file without saving any changes.
  4005.  
  4006.     QEdit can be configured, when only a single file is being edited and
  4007.     the Exit command is issued, to either terminate or prompt for
  4008.     another file to edit.  Refer to the "General Options" section of
  4009.     Chapter 2 for more information.
  4010.  
  4011.  
  4012.     File                <Ctrl KX> or <Alt F><F> or <Esc><F><F>
  4013.     ─────────────────────────────────────────────────────────────────────────
  4014.  
  4015.     Saves and then discards the current file.
  4016.  
  4017.     QEdit can be configured, when only a single file is being edited and
  4018.     the File command is issued, to either terminate or prompt for
  4019.     another file to edit.  Refer to the "General Options" section of
  4020.     Chapter 2 for more information.
  4021.  
  4022.                                   3-7
  4023.  
  4024.  
  4025.  
  4026.     Find                <Ctrl QF> or <Esc><S><F>
  4027.     ─────────────────────────────────────────────────────────────────────────
  4028.  
  4029.     Searches for a specified string of characters within the current
  4030.     file. The User is prompted for a search string and search options.
  4031.     Available search options are:
  4032.  
  4033.           [I] Ignore the case of the search string.
  4034.           [W] Search for whole words only.
  4035.           [B] Search backwards from the current cursor position.
  4036.  
  4037.  
  4038.     FindReplace         <Ctrl QA> or <Esc><S><R>
  4039.     ─────────────────────────────────────────────────────────────────────────
  4040.  
  4041.     Searches and replaces strings within the current file.  The User is
  4042.     prompted for a search string, a replace string, and options.
  4043.     Available options are:
  4044.  
  4045.           [I] Ignore the case of the search string.
  4046.           [W] Search for whole words only.
  4047.           [B] Search backwards from the current cursor position.
  4048.           [N] Find and replace without prompting.
  4049.  
  4050.     At every occurrence of the search string in the file, the User is
  4051.     given the following replace options.
  4052.  
  4053.           [Y] Replace the search string with the replace string and
  4054.               continue on to the next occurrence of the search string.
  4055.           [N] Do not make any changes but continue on to the next
  4056.               occurrence of the search string.
  4057.           [O] Replace the search string with the replace string and
  4058.               then terminate the FindReplace process.
  4059.           [G] Replace the search string with the replace string for
  4060.               this and all occurrences throughout the file without
  4061.               any further prompting.
  4062.           [Q] Terminate the FindReplace process.
  4063.  
  4064.  
  4065.     GetPrev             <Ctrl - (dash)>
  4066.     ─────────────────────────────────────────────────────────────────────────
  4067.  
  4068.     Duplicates the character immediately above the cursor at the cursor
  4069.     position.
  4070.  
  4071.  
  4072.     GetScrbuff          <Ctrl BL>
  4073.     ─────────────────────────────────────────────────────────────────────────
  4074.  
  4075.     Inserts the contents of the named Scratch Buffer at the cursor
  4076.     position. Refer to the "Block Commands" section of Chapter 1 for
  4077.     more information.
  4078.  
  4079.                                   3-8
  4080.  
  4081.  
  4082.  
  4083.     GExit               <Alt X> or <Alt Q><X> or <Esc><Q><X>
  4084.     ─────────────────────────────────────────────────────────────────────────
  4085.  
  4086.     Issues the Exit command for all files that have been loaded.  If no
  4087.     files have been changed, this command immediately terminates the
  4088.     editor and returns control to DOS.  If files have been changed, it
  4089.     will prompt you with "Save Changes (Y/N)?".  Pressing <Y> will save
  4090.     and then discard all files that have been modified.  Pressing <N>
  4091.     will discard all the files without saving any changes.
  4092.  
  4093.  
  4094.     GFile               <Alt F><G> or <Esc><F><G>
  4095.     ─────────────────────────────────────────────────────────────────────────
  4096.  
  4097.     Instructs the editor to discard all files which have been loaded.
  4098.     Any files which have been modified will be saved.
  4099.  
  4100.     If no files have been changed, this command immediately terminates
  4101.     the editor and returns control to DOS.
  4102.  
  4103.  
  4104.     GotoBlockBeg        <Ctrl QB>
  4105.     ─────────────────────────────────────────────────────────────────────────
  4106.  
  4107.     Positions the cursor at the beginning of the currently marked Block.
  4108.     If the Block is in a file other than the current file, the file
  4109.     containing the Block becomes the new current file.
  4110.  
  4111.  
  4112.     GotoBlockEnd        <Ctrl QK>
  4113.     ─────────────────────────────────────────────────────────────────────────
  4114.  
  4115.     Positions the cursor at the end of the currently marked Block. If
  4116.     the Block is in a file other than the current file, the file
  4117.     containing the Block becomes the new current file.
  4118.  
  4119.  
  4120.     GotoLine            <Ctrl J>
  4121.     ─────────────────────────────────────────────────────────────────────────
  4122.  
  4123.     Positions the cursor at the requested line.  The editor will prompt
  4124.     for the desired line number.
  4125.  
  4126.  
  4127.     GPQuit              <F3> or <Alt Q><Q> or <Esc><Q><Q>
  4128.     ─────────────────────────────────────────────────────────────────────────
  4129.  
  4130.     Issues the PQuit command for all files that have been loaded.
  4131.  
  4132.                                   3-9
  4133.  
  4134.  
  4135.  
  4136.     GrowWindow          <Ctrl OG> or <Esc><W><G>
  4137.     ─────────────────────────────────────────────────────────────────────────
  4138.  
  4139.     Increases the size of the current window if there are multiple
  4140.     windows on the screen.  The editor will prompt for the direction in
  4141.     which to increase the size.  The ShrinkWindow command can be
  4142.     executed from this prompt to decrease the window size.
  4143.  
  4144.  
  4145.     GSave               <Alt Y>
  4146.     ─────────────────────────────────────────────────────────────────────────
  4147.  
  4148.     Issues the SaveFile command for all files that have been modified.
  4149.  
  4150.  
  4151.     HalfPgDn
  4152.     ─────────────────────────────────────────────────────────────────────────
  4153.  
  4154.     Scrolls the text toward the end of the file one-half page.
  4155.  
  4156.  
  4157.     HalfPgUp
  4158.     ─────────────────────────────────────────────────────────────────────────
  4159.  
  4160.     Scrolls the text toward the beginning of the file one-half page.
  4161.  
  4162.  
  4163.     HorizontalWindow    <Ctrl OH> or <Esc><W><S>
  4164.     ─────────────────────────────────────────────────────────────────────────
  4165.  
  4166.     Splits the screen or current window horizontally, creating a new
  4167.     window.  Up to eight windows may be displayed on the screen at one
  4168.     time.
  4169.  
  4170.  
  4171.     InsertDate
  4172.     ─────────────────────────────────────────────────────────────────────────
  4173.  
  4174.     Inserts the system date at the current cursor position.
  4175.     
  4176.  
  4177.     InsertLine          <Alt F2> or <Esc><E><I>
  4178.     ─────────────────────────────────────────────────────────────────────────
  4179.  
  4180.     Inserts a blank line above the cursor line and positions the cursor
  4181.     on the newly created line.  The cursor column does not change.
  4182.  
  4183.  
  4184.     InsertTime
  4185.     ─────────────────────────────────────────────────────────────────────────
  4186.  
  4187.     Inserts the system time at the current cursor position.
  4188.  
  4189.                                   3-10
  4190.  
  4191.  
  4192.  
  4193.     JoinLine            <Alt J> or <Esc><E><J>
  4194.     ─────────────────────────────────────────────────────────────────────────
  4195.  
  4196.     Joins the line below the cursor line to the end of the cursor line.
  4197.     If the cursor is past the end of the line, then the line is joined
  4198.     at the cursor position.
  4199.  
  4200.  
  4201.     KillFile            <Ctrl KZ>
  4202.     ─────────────────────────────────────────────────────────────────────────
  4203.  
  4204.     Erases the currently edited file from disk.  The file remains loaded
  4205.     in the editor.  This command is very useful when available disk
  4206.     space is low.
  4207.  
  4208.  
  4209.     LineDown            <Ctrl X>
  4210.     ─────────────────────────────────────────────────────────────────────────
  4211.  
  4212.     Scrolls the text one line at a time toward the end of the file.  The
  4213.     cursor remains stationary on the screen.
  4214.  
  4215.  
  4216.     LineUp              <Ctrl E>
  4217.     ─────────────────────────────────────────────────────────────────────────
  4218.  
  4219.     Scrolls the text one line at a time toward the beginning of the
  4220.     file.  The cursor remains stationary on the screen.
  4221.  
  4222.  
  4223.     Literal             <Ctrl P>
  4224.     ─────────────────────────────────────────────────────────────────────────
  4225.  
  4226.     Causes the editor to literally interpret the keystroke that is
  4227.     entered immediately following this command.  It is used to insert
  4228.     control characters into the currently edited file.  For example, to
  4229.     insert the ASCII form-feed character (ASCII 12), you would first
  4230.     press <Ctrl P> then <Ctrl L>.  To insert a "null" character into the
  4231.     file, press <Ctrl P> and then <Ctrl 2>.  (Note: The "2" must be the
  4232.     "2" key on the alphanumeric keyboard, NOT the key on the numeric
  4233.     keypad.)
  4234.  
  4235.  
  4236.     MacroRead           <Esc> <M><R>
  4237.     ─────────────────────────────────────────────────────────────────────────
  4238.  
  4239.     Loads the named macro file, with all macros contained therein, from
  4240.     disk into the editor's internal macro buffer.  The macros are
  4241.     assigned to the keys exactly as they were originally recorded and
  4242.     saved.  The editor prompts the User for the name of the file.
  4243.  
  4244.                                   3-11
  4245.  
  4246.  
  4247.  
  4248.     MacroRecord         <Ctrl M> or <Esc><M><M>
  4249.     ─────────────────────────────────────────────────────────────────────────
  4250.  
  4251.     Toggles (ON and OFF) macro recording.  If macro recording is OFF,
  4252.     this will turn macro recording ON and prompt for a key to which to
  4253.     assign the macro.  After pressing the desired key (see Appendix B
  4254.     for a list of available keys), all following keystrokes are recorded
  4255.     until the MacroRecord key is pressed again.  After the macro has been
  4256.     recorded, it can be played back by pressing the key to which the
  4257.     macro was assigned.
  4258.  
  4259.     Instead of assigning a macro to a specific key, it can be assigned
  4260.     to a "scrap" or temporary area by simple pressing <Enter> at the
  4261.     prompt.  A macro assigned to the scrap area may be played back by
  4262.     entering the ExecuteScrap <Ctrl Enter> command.  The scrap area
  4263.     will be updated each time the MacroRecord command is executed.
  4264.  
  4265.  
  4266.  
  4267.     MacroWrite          <Esc> <M><W>
  4268.     ─────────────────────────────────────────────────────────────────────────
  4269.  
  4270.     Saves all currently defined macros to a binary disk file.  The
  4271.     editor prompts for the name of the file.
  4272.  
  4273.  
  4274.     MainMenu            <Esc>
  4275.     ─────────────────────────────────────────────────────────────────────────
  4276.  
  4277.     Activates the "Pop-Down" style menu system.  Many of the editor's
  4278.     commands can be executed via the menus.
  4279.  
  4280.  
  4281.     MakeBotofScreen
  4282.     ─────────────────────────────────────────────────────────────────────────
  4283.  
  4284.     Scrolls the text in the window so that the cursor line becomes the
  4285.     bottom line of the window.
  4286.  
  4287.  
  4288.     MakeCtrofScreen     <Shift F5>
  4289.     ─────────────────────────────────────────────────────────────────────────
  4290.  
  4291.     Scrolls the text in the window so that the cursor line becomes the
  4292.     center line of the window.
  4293.  
  4294.  
  4295.     MakeTopofScreen     <F5>
  4296.     ─────────────────────────────────────────────────────────────────────────
  4297.  
  4298.     Scrolls the text in the window so that the cursor line becomes the
  4299.     top line of the window.
  4300.  
  4301.                                   3-12
  4302.  
  4303.  
  4304.  
  4305.     MarkBlockBegin      <Ctrl KB> or <Esc><B><B>
  4306.     ─────────────────────────────────────────────────────────────────────────
  4307.  
  4308.     Marks the beginning of a character Block.  The Block is not shown
  4309.     until the MarkBlockEnd command is executed at some position beyond
  4310.     the beginning position of the Block.  For an alternate method of
  4311.     marking character Blocks, refer to the DropAnchor command.
  4312.  
  4313.  
  4314.     MarkBlockEnd        <Ctrl KK> or <Esc><B><E>
  4315.     ─────────────────────────────────────────────────────────────────────────
  4316.  
  4317.     Marks the end of a character Block.  The Block is not shown until
  4318.     the MarkBlockBegin command is also executed at some position before
  4319.     the end of the Block.  For an alternate method of marking character
  4320.     Blocks, refer to the DropAnchor command.
  4321.  
  4322.  
  4323.     MarkLine            <Alt L> or <Esc><B><L>
  4324.     ─────────────────────────────────────────────────────────────────────────
  4325.  
  4326.     This command is used to mark a line Block.  Initially executing this
  4327.     command will mark the current cursor line.  As the cursor is moved,
  4328.     the Block will "grow" with it line by line.  Executing this command
  4329.     again will mark the other end of the Block at the current cursor
  4330.     line.  If MarkLine is executed in a file that already contains a
  4331.     Block, the Block is extended to the current cursor line.
  4332.  
  4333.  
  4334.     Match               <Alt F3>
  4335.     ─────────────────────────────────────────────────────────────────────────
  4336.  
  4337.     Will find the corresponding "(", ")", "{", "}", "[", "]" character.
  4338.     This command is primarily intended for programming languages in
  4339.     which complicated expressions are grouped with one or more of these
  4340.     characters.  This command is very useful for finding unmatched
  4341.     parentheses.
  4342.  
  4343.  
  4344.     MoveBlock           <Alt M> or <Esc><B><M>
  4345.     ─────────────────────────────────────────────────────────────────────────
  4346.  
  4347.     Moves (copies and deletes) the currently marked Block to the cursor
  4348.     position.  If the Block is a character Block (created using the
  4349.     DropAnchor or MarkBlockBegin/End commands), the Block is inserted
  4350.     into the text beginning at the current cursor position.  If the Block
  4351.     is a line Block (created using the MarkLine command), it is inserted
  4352.     before or after the current cursor line, depending on the
  4353.     configuration setting  (Refer to the "General Options" section of
  4354.     Chapter 2 for more information).  The Block remains marked. Blocks
  4355.     may be moved from one file to another.
  4356.  
  4357.                                   3-13
  4358.  
  4359.  
  4360.  
  4361.     NextFile            <Alt N> or <Alt F><N> or <Esc><F><N>
  4362.     ─────────────────────────────────────────────────────────────────────────
  4363.  
  4364.     Makes the next file in the ring the new current file when multiple
  4365.     files are loaded.
  4366.  
  4367.  
  4368.     NextWindow          <Ctrl ON> or <Esc><W><N>
  4369.     ─────────────────────────────────────────────────────────────────────────
  4370.  
  4371.     Makes the window below the current window the new current window.  If
  4372.     the current window is at the bottom of the screen, the top window on
  4373.     the screen will become the current window.
  4374.  
  4375.  
  4376.     OneWindow           <Ctrl OO> or <Esc><W><O>
  4377.     ─────────────────────────────────────────────────────────────────────────
  4378.  
  4379.     Closes all windows except the current window and expands it to
  4380.     occupy the entire screen.
  4381.  
  4382.  
  4383.     PageDown            <PgDn>
  4384.     ─────────────────────────────────────────────────────────────────────────
  4385.  
  4386.     Scrolls the text toward the end of the file, one page-full less one
  4387.     line, at a time.
  4388.  
  4389.  
  4390.     PageUp              <PgUp>
  4391.     ─────────────────────────────────────────────────────────────────────────
  4392.  
  4393.     Scrolls the text toward the top of the file, one page-full less one
  4394.     line, at a time.
  4395.  
  4396.  
  4397.  
  4398.     Paste               <grey *>
  4399.     ─────────────────────────────────────────────────────────────────────────
  4400.  
  4401.     Inserts the contents of the Scrap Buffer at the cursor position.
  4402.     The Scrap Buffer is loaded using the Cut or Copy commands.  If the
  4403.     Scrap Buffer contains a character Block, it is inserted at the
  4404.     cursor position. If the Scrap Buffer contains a line Block, it is
  4405.     inserted before or after the cursor line depending on the
  4406.     configuration setting.  Refer to the "General Options" section of
  4407.     Chapter 2 for more information.
  4408.  
  4409.                                   3-14
  4410.  
  4411.  
  4412.  
  4413.     PQuit               <Ctrl KQ> or <Alt F><Q> or <Esc><F><Q>
  4414.     ─────────────────────────────────────────────────────────────────────────
  4415.  
  4416.     This command initiates a protected quit.  If the current file has
  4417.     not been modified, it is discarded.  If the current file has been
  4418.     modified, the User is warned that changes will be lost.  If multiple
  4419.     files are being edited, this command will make the previous file in
  4420.     the ring the new current file.
  4421.  
  4422.     QEdit can be configured, when only a single file is being edited and
  4423.     the PQuit command is issued, to either terminate or prompt for
  4424.     another file to edit.  Refer to the "General Options" section of
  4425.     Chapter 2 for more information.
  4426.  
  4427.  
  4428.     PrevFile            <Ctrl KP> or <Alt F><P> or <Esc><F><P>
  4429.     ─────────────────────────────────────────────────────────────────────────
  4430.  
  4431.     Makes the previous file in the ring the new current file when
  4432.     multiple files are loaded.
  4433.  
  4434.  
  4435.     PrevPosition        <Ctrl QP>
  4436.     ─────────────────────────────────────────────────────────────────────────
  4437.  
  4438.     Positions the cursor at the previous cursor position.  Very helpful
  4439.     when used with the GotoLine command.  The GotoLine line can be used
  4440.     to go directly to a certain area of the file.  The PrevPosition can
  4441.     then be used to return you to the original cursor position.
  4442.  
  4443.  
  4444.     PrevWindow          <Ctrl OP> or <Esc><W><P>
  4445.     ─────────────────────────────────────────────────────────────────────────
  4446.  
  4447.     Makes the window above the current window the new current window. If
  4448.     the current window is at the top of the screen, the bottom window on
  4449.     the screen will become the current window.
  4450.  
  4451.  
  4452.     PrintAll            <Alt P><A> or <Esc><P><A>
  4453.     ─────────────────────────────────────────────────────────────────────────
  4454.  
  4455.     Prints the entire contents of the current file.
  4456.  
  4457.  
  4458.     PrintBlock          <Alt P><B> or <Esc><P><B>
  4459.     ─────────────────────────────────────────────────────────────────────────
  4460.  
  4461.     Prints the entire contents of the marked Block.  The marked Block
  4462.     must be in the current file.
  4463.  
  4464.                                   3-15
  4465.  
  4466.  
  4467.  
  4468.     PrintEject          <Alt P><F> or <Esc><P><F>
  4469.     ─────────────────────────────────────────────────────────────────────────
  4470.  
  4471.     Sends a formfeed character (ASCII 12) to the printer.
  4472.  
  4473.  
  4474.     QuickHelp           <F1> or <Alt H>
  4475.     ─────────────────────────────────────────────────────────────────────────
  4476.  
  4477.     Displays the Help Screen.  A Help Screen is provided with QEdit;
  4478.     however, you may wish to design your own Help Screen.  For more
  4479.     information, refer to the "The Help Screen" section of Chapter 2.
  4480.  
  4481.  
  4482.     Quit
  4483.     ─────────────────────────────────────────────────────────────────────────
  4484.  
  4485.     Unconditional quit.  The current file is discarded regardless of any
  4486.     changes made to it.  This command is for those who do not like
  4487.     software that "nags" you.  USE WITH CAUTION!
  4488.  
  4489.  
  4490.     ReadBlock           <Alt R> or <Alt F><R> or <Esc><F><R>
  4491.     ─────────────────────────────────────────────────────────────────────────
  4492.  
  4493.     Inserts the named disk file at the current cursor position.
  4494.  
  4495.  
  4496.     RepeatFind          <Ctrl L> or <Esc><S><A>
  4497.     ─────────────────────────────────────────────────────────────────────────
  4498.  
  4499.     Repeats the previous Find or FindReplace command.
  4500.  
  4501.  
  4502.     Return              <Enter>
  4503.     ─────────────────────────────────────────────────────────────────────────
  4504.  
  4505.     The Return command behaves differently depending on Insert mode and
  4506.     AutoIndent mode.
  4507.  
  4508.     If Insert mode is OFF, the cursor is positioned at the first column
  4509.     of the next line.
  4510.  
  4511.     If Insert mode is ON, the current cursor line is split at the cursor
  4512.     position and any text to the right of and including the cursor
  4513.     position is placed on a new line following the current line.  If the
  4514.     cursor is past the last character on the line, then a blank line is
  4515.     added following the current line.  The cursor is then moved to the
  4516.     first column of the new line.
  4517.  
  4518.     If AutoIndent is ON, spaces are inserted ahead of the cursor
  4519.     position to align it with the text on the previous line.
  4520.  
  4521.                                   3-16
  4522.  
  4523.  
  4524.     If AutoIndent is OFF, the text is moved to the beginning of the
  4525.     next line.
  4526.  
  4527.     The Return command can be configured to split or not to split lines
  4528.     when Insert mode is ON.  Refer to the "Advanced Options" section of
  4529.     Chapter 2 for more information.
  4530.  
  4531.  
  4532.     SaveFile            <Ctrl KS> or <Alt F><S> or <Esc><F><S>
  4533.     ─────────────────────────────────────────────────────────────────────────
  4534.  
  4535.     Saves to disk the file currently being edited.  The file remains
  4536.     loaded, ready for further editing.
  4537.  
  4538.  
  4539.     ScreenLeft          <Alt F5>
  4540.     ─────────────────────────────────────────────────────────────────────────
  4541.  
  4542.     Shifts the screen to the left, the number of columns specified in
  4543.     the configuration program.  Refer to the "Colors/Screen Options"
  4544.     section of Chapter 2 for more information.
  4545.  
  4546.  
  4547.     ScreenRight         <Alt F6>
  4548.     ─────────────────────────────────────────────────────────────────────────
  4549.  
  4550.     Shifts the screen to the Right, the number of columns specified in
  4551.     the configuration program.  Refer to the "Colors/Screen Options"
  4552.     section of Chapter 2 for more information.
  4553.  
  4554.  
  4555.     ScrollDown          <Ctrl Z>
  4556.     ─────────────────────────────────────────────────────────────────────────
  4557.  
  4558.     Scrolls the text one line at a time toward the end of the file.  The
  4559.     cursor remains on the same line of text until it reaches the top of
  4560.     the screen.
  4561.  
  4562.  
  4563.     ScrollUp            <Ctrl W>
  4564.     ─────────────────────────────────────────────────────────────────────────
  4565.  
  4566.     Scrolls the text one line at a time toward the beginning of the
  4567.     file.  The cursor remains on the same line of text until it reaches
  4568.     the bottom of the screen.
  4569.  
  4570.  
  4571.     SetCtabwidth        <Esc><O><C>
  4572.     ─────────────────────────────────────────────────────────────────────────
  4573.  
  4574.     Sets the cursor tab width.  This is the width that is used when the
  4575.     TabRt or TabLt commands are executed.
  4576.  
  4577.                                   3-17
  4578.  
  4579.  
  4580.  
  4581.     SetPrintLeftMargin  <Alt P><L> or <Esc><P><L>
  4582.     ─────────────────────────────────────────────────────────────────────────
  4583.  
  4584.     Sets the number of spaces to be printed as a left margin at the
  4585.     beginning of each line. The default is zero.
  4586.  
  4587.  
  4588.     SetPrintPageSize    <Alt P><P> or <Esc><P><P>
  4589.     ─────────────────────────────────────────────────────────────────────────
  4590.  
  4591.     Sets the number of lines to be printed per page before sending a
  4592.     formfeed.  A value of zero will allow continuous printing (no
  4593.     formfeeds sent).
  4594.  
  4595.  
  4596.     SetPtabwidth        <Esc><O><P>
  4597.     ─────────────────────────────────────────────────────────────────────────
  4598.  
  4599.     Sets the Physical Tab Width.  This determines the width to which
  4600.     physical tab characters found in files are expanded if Physical Tab
  4601.     Expansion is set ON.  It also determines the number of spaces to be
  4602.     used for Physical Tab Insertion.  Refer to the ToggleTabsExpand and
  4603.     ToggleTabsOut commands in this chapter for more information.
  4604.  
  4605.  
  4606.     SetRmargin          <Ctrl OR> or <Esc><O><R>
  4607.     ─────────────────────────────────────────────────────────────────────────
  4608.  
  4609.     Sets the right margin for word-wrap and paragraph reformatting.
  4610.  
  4611.  
  4612.     Shell               <F9> or <Alt F><O> or <Esc><F><O>
  4613.     ─────────────────────────────────────────────────────────────────────────
  4614.  
  4615.     Invokes a DOS shell.  While in the shell, you can execute DOS and
  4616.     other commands.  When you are ready to leave the shell, type
  4617.     "exit <Enter>".  You will be back in QEdit, exactly where you
  4618.     left off.
  4619.  
  4620.                                        ┌─────────────────────────────────┐
  4621.                                        │ QEdit Tip:                      │
  4622.                                        │   You should NOT execute any    │
  4623.                                        │   TSR (terminate and stay       │
  4624.                                        │   resident) commands here.      │
  4625.                                        │   These include the DOS print   │
  4626.                                        │   and graph commands and        │
  4627.                                        │   memory-resident programs      │
  4628.                                        │   such as Sidekick and Superkey.│
  4629.                                        └─────────────────────────────────┘
  4630.  
  4631.                                   3-18
  4632.  
  4633.  
  4634.  
  4635.  
  4636.     ShiftLeft           <Shift F7>
  4637.     ─────────────────────────────────────────────────────────────────────────
  4638.  
  4639.     Shifts the currently marked Block (or the cursor line, if the cursor
  4640.     does not reside in a marked Block) one position to the left.  If you
  4641.     issue this command when the leftmost character(s) of the line(s)
  4642.     being shifted is in column 1, that character(s) will be deleted to
  4643.     allow the remainder of the line to shift left one position.
  4644.  
  4645.  
  4646.     ShiftRight          <Shift F8>
  4647.     ─────────────────────────────────────────────────────────────────────────
  4648.  
  4649.     Shifts the currently marked Block (or the cursor line, if the cursor
  4650.     does not reside in a marked Block) one position to the right.  If
  4651.     you issue this command when the rightmost character(s) of the
  4652.     line(s) being shifted is in column 512, that character(s) will be
  4653.     deleted to allow the remainder of the line to shift right one
  4654.     position.
  4655.  
  4656.  
  4657.     ShowEntryScreen     <Alt F10>
  4658.     ─────────────────────────────────────────────────────────────────────────
  4659.  
  4660.     Displays the original DOS screen as it appeared upon initial
  4661.     execution of the editor.  Pressing any key will return you to the
  4662.     edit screen.
  4663.  
  4664.  
  4665.     ShrinkWindow        <Ctrl OS> or <Esc><W><R>
  4666.     ─────────────────────────────────────────────────────────────────────────
  4667.  
  4668.     Decreases the size of the current window, if there are multiple
  4669.     windows on the screen.  The editor will prompt for the direction in
  4670.     which to decrease the size.  The GrowWindow command can be executed
  4671.     from this prompt to increase the window size.
  4672.  
  4673.  
  4674.  
  4675.     SplitLine           <Alt S> or <Esc><E><S>
  4676.     ─────────────────────────────────────────────────────────────────────────
  4677.  
  4678.     Splits the current cursor line at the cursor position.  Any text to
  4679.     the right of and including the cursor position is placed on a new
  4680.     line following the current line.  If the cursor is past the last
  4681.     character on the line, then a blank line is added following the
  4682.     current line. The cursor position does not change.
  4683.  
  4684.  
  4685.     StoreScrbuff        <Ctrl BS>
  4686.     ─────────────────────────────────────────────────────────────────────────
  4687.  
  4688.     Copies the currently marked Block to the named Scratch Buffer. The
  4689.     editor will prompt for the name of the Scratch Buffer.  The contents
  4690.     of all Scratch Buffers are lost when the editor is terminated.
  4691.  
  4692.                                   3-19
  4693.  
  4694.  
  4695.  
  4696.     TabLt               <Shift Tab>
  4697.     ─────────────────────────────────────────────────────────────────────────
  4698.  
  4699.     Positions the cursor at the previous tab position, as defined by the
  4700.     tab width.  If in Insert mode, the text to the right of, and
  4701.     including the cursor position, also shifts left.
  4702.  
  4703.  
  4704.     TabRt               <Tab>
  4705.     ─────────────────────────────────────────────────────────────────────────
  4706.  
  4707.     Positions the cursor at the next tab position, as defined by the
  4708.     cursor tab width.  If in Insert mode, the text to the right of, and
  4709.     including the cursor position, also shifts right.
  4710.  
  4711.  
  4712.     ToggleBakups        <Esc><O><B>
  4713.     ─────────────────────────────────────────────────────────────────────────
  4714.  
  4715.     Toggles file backups ON and OFF.  If ON, QEdit will create a backup
  4716.     file using the ".bak" file extension whenever a modified file is
  4717.     saved.
  4718.  
  4719.  
  4720.     ToggleBoxDraw       <Shift F1>
  4721.     ─────────────────────────────────────────────────────────────────────────
  4722.  
  4723.     Toggles Box Drawing mode ON and OFF.  If ON, the cursor movement
  4724.     keys (up, down, right, left) will "draw" lines in the text, both
  4725.     up/down and right/left.  Very useful for creating charts and tables.
  4726.  
  4727.     The letter "B" will appear on the Status Line when this mode is ON.
  4728.  
  4729.  
  4730.     ToggleEnterMatching <Esc><O><E>
  4731.     ─────────────────────────────────────────────────────────────────────────
  4732.  
  4733.     Toggles EnterMatching mode ON and OFF.  If ON, the double quote,
  4734.     parenthesis, and square bracket keys all automatically enter the
  4735.     matching character when the left character is entered.  For example,
  4736.     typing the '[' key automatically enters a ']' immediately following.
  4737.  
  4738.                                   3-20
  4739.  
  4740.  
  4741.  
  4742.     ToggleIndent        <Ctrl QI> or <Esc><O><A>
  4743.     ─────────────────────────────────────────────────────────────────────────
  4744.  
  4745.     Toggles AutoIndent mode ON and OFF.  If ON, the cursor is positioned
  4746.     at the current left margin whenever the <Enter> key is pressed.
  4747.     The current left margin is determined by the first non-blank
  4748.     character on the immediately preceding line.
  4749.  
  4750.     Paragraph reformatting and word-wrapping will also use the current
  4751.     left margin when AutoIndent mode is ON.
  4752.  
  4753.     The letter "A" will appear on the Status Line when this mode is ON.
  4754.  
  4755.  
  4756.     ToggleInsert        <Ins> or <Esc><O><I>
  4757.     ─────────────────────────────────────────────────────────────────────────
  4758.  
  4759.     Toggles Insert mode ON and OFF.  If ON, text to the right of the
  4760.     cursor on the cursor line is shifted whenever characters, spaces,
  4761.     the Backspace command, the TabLt command, or the TabRt command is
  4762.     entered.  Also, entering the Return command will cause a line split
  4763.     at the current cursor position.
  4764.  
  4765.     The letter "I" will appear on the Status Line when this mode is ON.
  4766.  
  4767.  
  4768.     ToggleSmartTabs     <Ctrl QT>
  4769.     ─────────────────────────────────────────────────────────────────────────
  4770.  
  4771.     Toggles Smart Tabs ON and OFF.  If ON, the tab right (and left) keys
  4772.     will position the cursor below the beginning of the next (or
  4773.     previous) word on the line immediately above the current cursor
  4774.     line.
  4775.  
  4776.  
  4777.     ToggleTabsExpand    <Alt V>
  4778.     ────────────────────────────────────────────────────────────────────────
  4779.  
  4780.     Toggles Physical Tab Expansion ON and OFF.  If ON, physical tab
  4781.     characters (ASCII 9's) found in a file will be expanded into spaces
  4782.     according to the Physical Tab Width set in the configuration program
  4783.     (Refer to the "Tab Settings" section of Chapter 2 for more
  4784.     information).  If OFF, physical tabs will be displayed on the
  4785.     screen.
  4786.  
  4787.  
  4788.     ToggleTabsOut       <Alt I>
  4789.     ─────────────────────────────────────────────────────────────────────────
  4790.  
  4791.     Toggles Physical Tab Insertion ON and OFF.  If ON, continuous spaces
  4792.     in a line of text will be replaced with physical tabs (ASCII 9's)
  4793.     according to the Physical Tab Width set in the configuration program
  4794.     (Refer to the "Tab Settings" section of Chapter 2 for more
  4795.     information).
  4796.  
  4797.                                   3-21
  4798.  
  4799.  
  4800.  
  4801.     ToggleWordwrap      <Ctrl OW> or <Esc><O><W>
  4802.     ─────────────────────────────────────────────────────────────────────────
  4803.  
  4804.     Toggles WordWrap mode ON and OFF.  If ON, the cursor, along with
  4805.     the word currently being typed, will automatically advance to the
  4806.     next line whenever a character is typed beyond the right margin.
  4807.     The right margin can be permanently set using the configuration
  4808.     program (refer to the "General Options" section of Chapter 2 for
  4809.     more information) or temporarily changed using the SetRmargin
  4810.     command.
  4811.  
  4812.     The letter "W" will appear on the Status Line when this mode is ON.
  4813.  
  4814.  
  4815.     UndoCursorline      <Ctrl QL>
  4816.     ─────────────────────────────────────────────────────────────────────────
  4817.  
  4818.     Reverses any changes made to the current cursor line (except changes
  4819.     made with the FindReplace command).  If the cursor has been moved
  4820.     from the changed line or a file or window command is executed, the
  4821.     changes cannot be undone.
  4822.  
  4823.  
  4824.     UnKill              <Ctrl U> or <Esc><E><U>
  4825.     ─────────────────────────────────────────────────────────────────────────
  4826.  
  4827.     Recovers the last deleted entry from the current file's Kill Buffer.
  4828.     Deleted blocks and lines will be inserted immediately before the
  4829.     current cursor line and deleted words will be inserted immediately
  4830.     before the current cursor position.
  4831.  
  4832.     The number of lines saved in the Kill Buffer may be set with the
  4833.     configuration program.  Refer to the "General Options" section of
  4834.     Chapter 2 for more information.
  4835.  
  4836.  
  4837.     UnmarkBlock         <Alt U> or <Esc><B><U>
  4838.     ─────────────────────────────────────────────────────────────────────────
  4839.  
  4840.     Unmarks the currently marked Block.
  4841.  
  4842.  
  4843.     WordLeft            <Ctrl Cursor Left>
  4844.     ─────────────────────────────────────────────────────────────────────────
  4845.  
  4846.     Positions the cursor at the first character of the previous word.
  4847.  
  4848.  
  4849.     WordRight           <Ctrl Cursor Right>
  4850.     ─────────────────────────────────────────────────────────────────────────
  4851.  
  4852.     Positions the cursor at the first character of the following word.
  4853.  
  4854.                                   3-22
  4855.  
  4856.  
  4857.  
  4858.     WrapPara            <Alt B>
  4859.     ─────────────────────────────────────────────────────────────────────────
  4860.  
  4861.     Reformats text from the current cursor position until a blank line
  4862.     or end of file is encountered.  If AutoIndent is ON, the line below
  4863.     the cursor line is used for the left margin.  Otherwise, a left
  4864.     margin of zero is used.  The right margin is determined by the
  4865.     configuration program or the SetRmargin command.
  4866.  
  4867.  
  4868.     WriteBlock          <Alt W> or <Alt F><W> or <Esc><F><W>
  4869.     ─────────────────────────────────────────────────────────────────────────
  4870.  
  4871.     Writes the currently marked Block to the named file.  The editor
  4872.     will prompt for the name of the file.
  4873.  
  4874.  
  4875.     ZoomWindow          <Ctrl OZ> or <Esc><W><Z>
  4876.     ─────────────────────────────────────────────────────────────────────────
  4877.  
  4878.     Toggles Zoom mode ON and OFF.  If there are multiple windows on the
  4879.     screen, entering the ZoomWindow command will cause the current
  4880.     window to fill the entire screen.  Pressing ZoomWindow again
  4881.     restores the other windows to the screen.
  4882.  
  4883.                                   3-23
  4884.  
  4885.  
  4886.  
  4887.  
  4888.     Appendix A.  List of Commands
  4889.     =========================================================================
  4890.  
  4891.                                 ┌─────────────┐
  4892.                                 │ By Function │
  4893.                                 └─────────────┘
  4894.  
  4895.                              Menu (Esc)  Default                   Customized
  4896.     Command                  Sequence    Keystroke                 Keystroke
  4897.     ────────────────────     ──────────  ────────────────────      ──────────
  4898.  
  4899.     Cursor Movement
  4900.     ---------------
  4901.     BegFile                              Ctrl PgUp
  4902.     BegLine                              Home
  4903.     BegScreen                            Ctrl Home
  4904.     CursorDown                           Cursor Down
  4905.     CursorLeft                           Cursor Left
  4906.  
  4907.     CursorRight                          Cursor Right
  4908.     CursorUp                             Cursor Up
  4909.     EndFile                              Ctrl PgDn
  4910.     EndLine                              End
  4911.     EndScreen                            Ctrl End
  4912.  
  4913.     GotoBlockBeg                         Ctrl QB
  4914.     GotoBlockEnd                         Ctrl QK
  4915.     GotoLine                             Ctrl J
  4916.     HalfPgDn
  4917.     HalfPgUp
  4918.  
  4919.     LineDown                             Ctrl X
  4920.     LineUp                               Ctrl E
  4921.     MakeBotofScreen
  4922.     MakeCtrofScreen                      Shift F5
  4923.     MakeTopofScreen                      F5
  4924.  
  4925.                                   A-1
  4926.  
  4927.  
  4928.     PageDown                             PgDn
  4929.     PageUp                               PgUp
  4930.     PrevPosition                         Ctrl QP
  4931.     ScreenLeft                           Alt  F5
  4932.     ScreenRight                          Alt  F6
  4933.  
  4934.     ScrollDown                           Ctrl Z
  4935.     ScrollUp                             Ctrl W
  4936.     WordLeft                             Ctrl Cursor Left
  4937.     WordRight                            Ctrl Cursor Right
  4938.  
  4939.  
  4940.     Editing
  4941.     -------
  4942.     AddLine                  EA          F2
  4943.     Align
  4944.     Backspace                            Backspace
  4945.     DelCh                                Del
  4946.     DelLine                  ED          Alt  D
  4947.  
  4948.     DelLtWord                            Ctrl Backspace
  4949.     DelRtWord                            Ctrl T
  4950.     DelToEol                 EE          F6
  4951.     DupLine                              F4
  4952.     GetPrev                              Ctrl - (dash)
  4953.  
  4954.     InsertLine               EI          Alt  F2
  4955.     JoinLine                 EJ          Alt  J
  4956.     Literal                              Ctrl P
  4957.     Return                               Enter
  4958.     SplitLine                ES          Alt  S
  4959.  
  4960.     UnKill                   EU          Ctrl U
  4961.  
  4962.  
  4963.     Block/Scratch Buffer
  4964.     --------------------
  4965.     AppendScrbuff                        Ctrl BA
  4966.     Copy                                 grey +
  4967.     CopyBlock                BC          Alt  C
  4968.     Cut                                  grey -
  4969.     DeleteBlock              BD          Alt  G
  4970.  
  4971.                                   A-2
  4972.  
  4973.  
  4974.     DropAnchor                           Alt  A
  4975.     GetScrbuff                           Ctrl BL
  4976.     MarkBlockBegin           BB          Ctrl KB or F7
  4977.     MarkBlockEnd             BE          Ctrl KK or F8
  4978.     MarkLine                 BL          Alt  L
  4979.  
  4980.     MoveBlock                BM          Alt  M
  4981.     Paste                                grey *
  4982.     ShiftLeft                            Shift F7
  4983.     ShiftRight                           Shift F8
  4984.     StoreScrbuff                         Ctrl BS
  4985.  
  4986.     UnmarkBlock              BU          Alt  U
  4987.  
  4988.  
  4989.     File
  4990.     ----
  4991.     ChangeFilename           FC          Alt  O  or Alt  F,C
  4992.     EditFile                 FL          Alt  E  or Alt  F,L
  4993.     Exit                                 Ctrl KD
  4994.     File                     FF          Ctrl KX or Alt  F,F
  4995.     GExit                    QX          Alt  X  or Alt  Q,X
  4996.  
  4997.     GFile                    FG          Alt  F,G
  4998.     GPQuit                   QQ          F3      or Alt  Q,Q
  4999.     GSave                                Alt  Y
  5000.     KillFile                             Ctrl KZ
  5001.     NextFile                 FN          Alt  N  or Alt  F,N
  5002.  
  5003.     PQuit                    FQ          Ctrl KQ or Alt  F,Q
  5004.     PrevFile                 FP          Ctrl KP or Alt  F,P
  5005.     Quit
  5006.     ReadBlock                FR          Alt  R  or Alt  F,R
  5007.     SaveFile                 FS          Ctrl KS or Alt  F,S
  5008.  
  5009.     WriteBlock               FW          Alt  W  or Alt  F,W
  5010.  
  5011.                                   A-3
  5012.  
  5013.  
  5014.  
  5015.     Window
  5016.     ------
  5017.     CloseWindow              WC          Ctrl OC
  5018.     GrowWindow               WG          Ctrl OG
  5019.     HorizontalWindow         WS          Ctrl OH
  5020.     NextWindow               WN          Ctrl ON
  5021.     OneWindow                WO          Ctrl OO
  5022.  
  5023.     PrevWindow               WP          Ctrl OP
  5024.     ShrinkWindow             WR          Ctrl OS
  5025.     ZoomWindow               WZ          Ctrl OZ
  5026.  
  5027.  
  5028.     Macro
  5029.     -----
  5030.     CurrentFilename
  5031.     ExecuteScrap                         Ctrl Enter
  5032.     MacroRead                MR
  5033.     MacroRecord              MM          Ctrl M
  5034.     MacroWrite               MW
  5035.  
  5036.  
  5037.     Printing
  5038.     --------
  5039.     PrintAll                 PA          Alt  P,A
  5040.     PrintBlock               PB          Alt  P,B
  5041.     PrintEject               PF          Alt  P,F
  5042.     SetPrintLeftMargin       PL          Alt  P,L
  5043.     SetPrintPageSize         PP          Alt  P,P
  5044.  
  5045.  
  5046.     Tab
  5047.     ---
  5048.     SetCtabwidth             OC
  5049.     SetPtabwidth             OP
  5050.     TabLt                                Shift Tab
  5051.     TabRt                                Tab
  5052.  
  5053.                                   A-4
  5054.  
  5055.  
  5056.  
  5057.     Find/Replace
  5058.     ------------
  5059.     Find                     SF          Ctrl QF
  5060.     FindReplace              SR          Ctrl QA
  5061.     RepeatFind               SA          Ctrl L
  5062.  
  5063.  
  5064.     Toggles
  5065.     -------
  5066.     ToggleBakups             OB
  5067.     ToggleBoxDraw                        Shift F1
  5068.     ToggleEnterMatching      OE
  5069.     ToggleIndent             OA          Ctrl QI
  5070.     ToggleInsert             OI          Ins
  5071.  
  5072.     ToggleSmartTabs                      Ctrl QT
  5073.     ToggleTabsExpand                     Alt  V
  5074.     ToggleTabsOut                        Alt  I
  5075.     ToggleWordwrap           OW          Ctrl OW
  5076.  
  5077.  
  5078.     Other
  5079.     -----
  5080.     Dos                                  Alt  F9
  5081.     Escape                               Esc
  5082.     InsertDate
  5083.     InsertTime
  5084.     MainMenu                             Esc
  5085.  
  5086.     Match                                Alt  F3
  5087.     QuickHelp                            Alt  H  or F1
  5088.     SetRmargin               OR          Ctrl OR
  5089.     Shell                    FO          F9      or Alt  F,O
  5090.     ShowEntryScreen                      Alt  F10
  5091.  
  5092.     UndoCursorline                       Ctrl QL
  5093.     WrapPara                             Alt  B
  5094.  
  5095.                                   A-5
  5096.  
  5097.  
  5098.  
  5099.                              ┌────────────────┐
  5100.                              │ Alphabetically │
  5101.                              └────────────────┘
  5102.  
  5103.                              Menu (Esc)  Default                   Customized
  5104.     Command                  Sequence    Keystroke                 Keystroke
  5105.     ────────────────────     ──────────  ────────────────────      ──────────
  5106.  
  5107.     AddLine                  EA          F2
  5108.     Align
  5109.     AppendScrbuff                        Ctrl BA
  5110.     Backspace                            Backspace
  5111.     BegFile                              Ctrl PgUp
  5112.  
  5113.     BegLine                              Home
  5114.     BegScreen                            Ctrl Home
  5115.     ChangeFilename           FC          Alt  O  or Alt  F,C
  5116.     CloseWindow              WC          Ctrl OC
  5117.     Copy                                 grey +
  5118.  
  5119.     CopyBlock                BC          Alt  C
  5120.     CurrentFilename
  5121.     CursorDown                           Cursor Down
  5122.     CursorLeft                           Cursor Left
  5123.     CursorRight                          Cursor Right
  5124.  
  5125.     CursorUp                             Cursor Up
  5126.     Cut                                  grey -
  5127.     DelCh                                Del
  5128.     DeleteBlock              BD          Alt  G
  5129.     DelLine                  ED          Alt  D
  5130.  
  5131.     DelLtWord                            Ctrl Backspace
  5132.     DelRtWord                            Ctrl T
  5133.     DelToEol                 EE          F6
  5134.     Dos                                  Alt  F9
  5135.     DropAnchor                           Alt  A
  5136.  
  5137.     DupLine                              F4
  5138.     EditFile                 FL          Alt  E  or Alt  F,L
  5139.     EndFile                              Ctrl PgDn
  5140.     EndLine                              End
  5141.     EndScreen                            Ctrl End
  5142.  
  5143.     Escape                               Esc
  5144.     ExecuteScrap                         Ctrl Enter
  5145.     Exit                                 Ctrl KD
  5146.     File                     FF          Ctrl KX or Alt  F,F
  5147.     Find                     SF          Ctrl QF
  5148.  
  5149.                                   A-6
  5150.  
  5151.  
  5152.     FindReplace              SR          Ctrl QA
  5153.     GetPrev                              Ctrl - (dash)
  5154.     GetScrbuff                           Ctrl BL
  5155.     GExit                    QX          Alt  X  or Alt  Q,X
  5156.     GFile                    FG          Alt  F,G
  5157.  
  5158.     GotoBlockBeg                         Ctrl QB
  5159.     GotoBlockEnd                         Ctrl QK
  5160.     GotoLine                             Ctrl J
  5161.     GPQuit                   QQ          F3      or Alt  Q,Q
  5162.     GrowWindow               WG          Ctrl OG
  5163.  
  5164.     GSave                                Alt  Y
  5165.     HalfPgDn
  5166.     HalfPgUp
  5167.     HorizontalWindow         WS          Ctrl OH
  5168.     InsertDate
  5169.  
  5170.     InsertLine               EI          Alt  F2
  5171.     InsertTime
  5172.     JoinLine                 EJ          Alt  J
  5173.     KillFile                             Ctrl KZ
  5174.     LineDown                             Ctrl X
  5175.  
  5176.     LineUp                               Ctrl E
  5177.     Literal                              Ctrl P
  5178.     MacroRead                MR
  5179.     MacroRecord              MM          Ctrl M
  5180.     MacroWrite               MW
  5181.  
  5182.     MainMenu                             Esc
  5183.     MakeBotofScreen
  5184.     MakeCtrofScreen                      Shift F5
  5185.     MakeTopofScreen                      F5
  5186.     MarkBlockBegin           BB          Ctrl KB or F7
  5187.  
  5188.     MarkBlockEnd             BE          Ctrl KK or F8
  5189.     MarkLine                 BL          Alt  L
  5190.     Match                                Alt  F3
  5191.     MoveBlock                BM          Alt  M
  5192.     NextFile                 FN          Alt  N  or Alt  F,N
  5193.  
  5194.                                   A-7
  5195.  
  5196.  
  5197.     NextWindow               WN          Ctrl ON
  5198.     OneWindow                WO          Ctrl OO
  5199.     PageDown                             PgDn
  5200.     PageUp                               PgUp
  5201.     Paste                                grey *
  5202.  
  5203.     PQuit                    FQ          Ctrl KQ or Alt  F,Q
  5204.     PrevFile                 FP          Ctrl KP or Alt  F,P
  5205.     PrevPosition                         Ctrl QP
  5206.     PrevWindow               WP          Ctrl OP
  5207.     PrintAll                 PA          Alt  P,A
  5208.  
  5209.     PrintBlock               PB          Alt  P,B
  5210.     PrintEject               PF          Alt  P,F
  5211.     QuickHelp                            Alt  H  or F1
  5212.     Quit
  5213.     ReadBlock                FR          Alt  R  or Alt  F,R
  5214.  
  5215.     RepeatFind               SA          Ctrl L
  5216.     Return                               Enter
  5217.     SaveFile                 FS          Ctrl KS or Alt  F,S
  5218.     ScreenLeft                           Alt  F5
  5219.     ScreenRight                          Alt  F6
  5220.  
  5221.     ScrollDown                           Ctrl Z
  5222.     ScrollUp                             Ctrl W
  5223.     SetCtabwidth             OC
  5224.     SetPrintLeftMargin       PL          Alt  P,L
  5225.     SetPrintPageSize         PP          Alt  P,P
  5226.  
  5227.     SetPtabwidth             OP
  5228.     SetRmargin               OR          Ctrl OR
  5229.     Shell                    FO          F9      or Alt  F,O
  5230.     ShiftLeft                            Shift F7
  5231.     ShiftRight                           Shift F8
  5232.  
  5233.     ShowEntryScreen                      Alt  F10
  5234.     ShrinkWindow             WR          Ctrl OS
  5235.     SplitLine                ES          Alt  S
  5236.     StoreScrbuff                         Ctrl BS
  5237.     TabLt                                Shift Tab
  5238.  
  5239.                                   A-8
  5240.  
  5241.  
  5242.     TabRt                                Tab
  5243.     ToggleBakups             OB
  5244.     ToggleBoxDraw                        Shift F1
  5245.     ToggleEnterMatching      OE
  5246.     ToggleIndent             OA          Ctrl QI
  5247.  
  5248.     ToggleInsert             OI          Ins
  5249.     ToggleSmartTabs                      Ctrl QT
  5250.     ToggleTabsExpand                     Alt  V
  5251.     ToggleTabsOut                        Alt  I
  5252.     ToggleWordwrap           OW          Ctrl OW
  5253.  
  5254.     UndoCursorline                       Ctrl QL
  5255.     UnKill                   EU          Ctrl U
  5256.     UnmarkBlock              BU          Alt  U
  5257.     WordLeft                             Ctrl Cursor Left
  5258.     WordRight                            Ctrl Cursor Right
  5259.  
  5260.     WrapPara                             Alt  B
  5261.     WriteBlock               FW          Alt  W  or Alt  F,W
  5262.     ZoomWindow               WZ          Ctrl OZ
  5263.  
  5264.                                   A-9
  5265.  
  5266.  
  5267.  
  5268.     Appendix B.  List of Configurable Keys
  5269.     =========================================================================
  5270.  
  5271.                                ┌───────────────┐
  5272.                                │ Function Keys │
  5273.                                └───────────────┘
  5274.  
  5275.     Keystroke      Default Command     │  Keystroke          Default Command
  5276.     ─────────      ───────────────     │  ─────────          ───────────────
  5277.     F1             QuickHelp           │  Shift F1           ToggleBoxDraw
  5278.     F2             AddLine             │  Shift F2
  5279.     F3             GPQuit              │  Shift F3
  5280.     F4             DupLine             │  Shift F4
  5281.     F5             MakeTopofScreen     │  Shift F5           MakeCtrofScreen
  5282.                                        │
  5283.     F6             DelToEol            │  Shift F6
  5284.     F7             MarkBlockBegin      │  Shift F7           ShiftLeft
  5285.     F8             MarkBlockEnd        │  Shift F8           ShiftRight
  5286.     F9             Shell               │  Shift F9
  5287.     F10                                │  Shift F10
  5288.     ───────────────────────────────────┼────────────────────────────────────────
  5289.     Ctrl F1                            │  Alt F1
  5290.     Ctrl F2                            │  Alt F2             InsertLine
  5291.     Ctrl F3                            │  Alt F3             Match
  5292.     Ctrl F4                            │  Alt F4
  5293.     Ctrl F5                            │  Alt F5             ScreenLeft
  5294.                                        │
  5295.     Ctrl F6                            │  Alt F6             ScreenRight
  5296.     Ctrl F7                            │  Alt F7
  5297.     Ctrl F8                            │  Alt F8
  5298.     Ctrl F9                            │  Alt F9             Dos
  5299.     Ctrl F10                           │  Alt F10            ShowEntryScreen
  5300.  
  5301.                                   B-1
  5302.  
  5303.  
  5304.  
  5305.                            ┌──────────────────────┐
  5306.                            │ Special Purpose Keys │
  5307.                            └──────────────────────┘
  5308.  
  5309.     Keystroke      Default Command     │  Keystroke          Default Command
  5310.     ─────────      ───────────────     │  ─────────          ───────────────
  5311.     Backspace      Backspace           │  Ctrl Backspace     DelLtWord
  5312.     Cursor down    CursorDown          │
  5313.     Cursor left    CursorLeft          │  Ctrl Cursor left   WordLeft
  5314.     Cursor right   CursorRight         │  Ctrl Cursor right  WordRight
  5315.     Cursor up      CursorUp            │
  5316.                                        │
  5317.     Del            DelCh               │  Shift Del
  5318.     End            EndLine             │  Ctrl End           EndScreen
  5319.     Enter          Return              │  Ctrl Enter        ExecuteScrap
  5320.     Esc            Escape              │
  5321.     grey *         Paste               │
  5322.                                        │
  5323.     grey +         Copy                │
  5324.     grey -         Cut                 │
  5325.     Home           BegLine             │  Ctrl Home          BegScreen
  5326.     Ins            ToggleInsert        │  Shift Ins
  5327.     PgDn           PageDown            │  Ctrl PgDn          EndFile
  5328.                                        │
  5329.     PgUp           PageUp              │  Ctrl PgUp          BegFile
  5330.     Tab            TabRt               │  Shift Tab          TabLt
  5331.     `                                  │
  5332.     /                                  │
  5333.     ~ (tilde)                          │
  5334.                                        │
  5335.                                        │  Ctrl Prtscr
  5336.                                        │  Ctrl [
  5337.                                        │  Ctrl ]
  5338.                                        │  Ctrl -             GetPrev
  5339.                                        │  Ctrl \
  5340.                                        │  Ctrl 2
  5341.                                        │  Ctrl 6             
  5342.  
  5343.                                   B-2
  5344.  
  5345.  
  5346.  
  5347.                                 ┌──────────────┐
  5348.                                 │ Control Keys │
  5349.                                 └──────────────┘
  5350.  
  5351.  
  5352.     Keystroke      Default Command     │  Keystroke          Default Command
  5353.     ─────────      ───────────────     │  ─────────          ───────────────
  5354.     Ctrl A         WordLeft            │  Ctrl P             Literal
  5355.   * Ctrl BA        AppendScrbuff       │* Ctrl QA            FindReplace
  5356.     Ctrl BL        GetScrbuff          │  Ctrl QB            GotoBlockBeg
  5357.     Ctrl BS        StoreScrbuff        │  Ctrl QC            EndFile
  5358.     Ctrl C         PageDown            │  Ctrl QD            EndLine
  5359.                                        │
  5360.     Ctrl D         CursorRight         │  Ctrl QE            BegScreen
  5361.     Ctrl E         LineUp              │  Ctrl QF            Find
  5362.     Ctrl F         WordRight           │  Ctrl QI            ToggleIndent
  5363.     Ctrl G         DelCh               │  Ctrl QK            GotoBlockEnd
  5364.     Ctrl H         Backspace           │  Ctrl QL            UndoCursorline
  5365.                                        │
  5366.     Ctrl I         TabRt               │  Ctrl QP            PrevPosition
  5367.     Ctrl J         GotoLine            │  Ctrl QR            BegFile
  5368.   * Ctrl KB        MarkBlockBegin      │  Ctrl QS            BegLine
  5369.     Ctrl KC        CopyBlock           │  Ctrl QT            ToggleSmartTabs
  5370.     Ctrl KD        Exit                │  Ctrl QX            EndScreen
  5371.                                        │
  5372.     Ctrl KE        EditFile            │  Ctrl QY            DelToEol
  5373.     Ctrl KF        ChangeFilename      │  Ctrl R             PageUp
  5374.     Ctrl KH        UnmarkBlock         │  Ctrl S             CursorLeft
  5375.     Ctrl KK        MarkBlockEnd        │  Ctrl T             DelRtWord
  5376.     Ctrl KN        NextFile            │  Ctrl U             UnKill
  5377.                                        │
  5378.     Ctrl KP        PrevFile            │  Ctrl V             ToggleInsert
  5379.     Ctrl KQ        PQuit               │  Ctrl W             ScrollUp
  5380.     Ctrl KR        ReadBlock           │  Ctrl X             LineDown
  5381.     Ctrl KS        SaveFile            │  Ctrl Y             DelLine
  5382.     Ctrl KT        ToggleTabsExpand    │  Ctrl Z             ScrollDown
  5383.                                        │
  5384.     Ctrl KV        MoveBlock           │
  5385.     Ctrl KW        WriteBlock          │
  5386.     Ctrl KX        File                │
  5387.     Ctrl KY        DeleteBlock         │
  5388.     Ctrl KZ        KillFile            │
  5389.                                        │
  5390.     Ctrl L         RepeatFind          │
  5391.     Ctrl M         MacroRecord         │
  5392.     Ctrl N         SplitLine           │
  5393.   * Ctrl OC        CloseWindow         │
  5394.     Ctrl OG        GrowWindow          │
  5395.  
  5396.                                   B-3
  5397.  
  5398.                                        │
  5399.     Ctrl OH        HorizontalWindow    │
  5400.     Ctrl OL        SetPrintLeftMargin  │
  5401.     Ctrl ON        NextWindow          │
  5402.     Ctrl OO        OneWindow           │
  5403.     Ctrl OP        PrevWindow          │
  5404.                                        │
  5405.     Ctrl OR        SetRmargin          │
  5406.     Ctrl OS        ShrinkWindow        │
  5407.     Ctrl OW        ToggleWordwrap      │
  5408.     Ctrl OZ        ZoomWindow          │
  5409.  
  5410.   * QEdit allows you to assign commands to "twokey" combinations. A
  5411.     twokey consists of two distinct keystrokes, such as <Ctrl B>
  5412.     immediately followed by <A>.  Please note that keystrokes such as
  5413.     <Ctrl A> and <Alt C> by themselves each count as only one keystroke,
  5414.     just as <shift F1> is only one keystroke.  You cannot assign a QEdit
  5415.     command to a key which is already being used as the first keystroke
  5416.     of a twokey.
  5417.  
  5418.                                   B-4
  5419.  
  5420.  
  5421.  
  5422.                                ┌────────────────┐
  5423.                                │ Alternate Keys │
  5424.                                └────────────────┘
  5425.  
  5426.  
  5427.     Keystroke    Default Command        │  Keystroke         Default Command
  5428.     ─────────    ───────────────        │  ─────────         ───────────────
  5429.     Alt A        DropAnchor             │  Alt 1
  5430.     Alt B        WrapPara               │  Alt 2
  5431.     Alt C        CopyBlock              │  Alt 3
  5432.     Alt D        DelLine                │  Alt 4
  5433.     Alt E        EditFile               │  Alt 5
  5434.                                         │
  5435.     Alt F        MacroBegin MainMenu 'f'│  Alt 6
  5436.     Alt G        DeleteBlock            │  Alt 7
  5437.     Alt H        QuickHelp              │  Alt 8
  5438.     Alt I        ToggleTabsOut          │  Alt 9
  5439.     Alt J        JoinLine               │  Alt 0
  5440.                                         │
  5441.     Alt K                               │  Alt -
  5442.     Alt L        MarkLine               │  Alt =
  5443.     Alt M        MoveBlock              │
  5444.     Alt N        NextFile               │
  5445.     Alt O        ChangeFilename         │
  5446.                                         │
  5447.     Alt P        MacroBegin MainMenu 'p'│
  5448.     Alt Q        MacroBegin MainMenu 'q'│
  5449.     Alt R        ReadBlock              │
  5450.     Alt S        SplitLine              │
  5451.     Alt T                               │
  5452.                                         │
  5453.     Alt U        UnmarkBlock            │
  5454.     Alt V        ToggleTabsExpand       │
  5455.     Alt W        WriteBlock             │
  5456.     Alt X        GExit                  │
  5457.     Alt Y        GSave                  │
  5458.                                         │
  5459.     Alt Z                               │
  5460.  
  5461.                                   B-5
  5462.  
  5463.  
  5464.  
  5465.                           ┌────────────────────────┐
  5466.                           │ Enhanced Keyboard Keys │
  5467.                           └────────────────────────┘
  5468.  
  5469.     Keystroke      Default Command     │  Keystroke          Default Command
  5470.     ─────────      ───────────────     │  ─────────          ───────────────
  5471.     F11                                │  Alt F11
  5472.     F12                                │  Alt F12
  5473.     Shift F11                          │  Alt '
  5474.     Shift F12                          │  Alt ,
  5475.     Ctrl F11                           │  Alt .
  5476.                                        │
  5477.     Ctrl F12                           │  Alt /
  5478.     Ctrl Center Cursor                 │  Alt \
  5479.     Ctrl Cursor Down                   │  Alt ;
  5480.     Ctrl Cursor Up                     │  Alt [
  5481.     Ctrl Del                           │  Alt ]
  5482.                                        │
  5483.     Ctrl grey *                        │  Alt `
  5484.     Ctrl grey +                        │  Alt Backspace
  5485.     Ctrl grey -                        │  Alt Enter
  5486.     Ctrl grey /                        │  Alt Escape
  5487.     Ctrl Ins                           │  Alt grey *
  5488.                                        │
  5489.     Ctrl Tab                           │  Alt grey +
  5490.     Center Cursor                      │  Alt grey -
  5491.                                        │  Alt grey /
  5492.                                        │  Alt grey Cursor Down
  5493.                                        │  Alt grey Cursor Left
  5494.                                        │
  5495.                                        │  Alt grey Cursor Right
  5496.                                        │  Alt grey Cursor Up
  5497.                                        │  Alt grey Del
  5498.                                        │  Alt grey End
  5499.                                        │  Alt grey Home
  5500.                                        │
  5501.                                        │  Alt grey Ins
  5502.                                        │  Alt grey PgDn
  5503.                                        │  Alt grey PgUp
  5504.                                        │  Alt grey Enter
  5505.                                        │  Alt Tab
  5506.  
  5507.  
  5508.     A list of all configurable keys is also contained in the QCONFIG.DAT
  5509.     file on the QEdit distribution diskette.
  5510.  
  5511.                                   B-6
  5512.  
  5513.  
  5514.  
  5515.  
  5516.     Appendix C.  Error Messages
  5517.     =========================================================================
  5518.  
  5519.     This Appendix contains an alphabetical list of the error messages
  5520.     that can be displayed by QEdit.  Each message has a description and,
  5521.     as required, a resolution.  There is a separate list for QCONFIG
  5522.     (the configuration program) error messages.
  5523.  
  5524.  
  5525.     QEdit Error Messages
  5526.     ─────────────────────────────────────────────────────────────────────────
  5527.  
  5528.     Can't execute scrap macro when macro recording on:  The ExecuteScrap
  5529.     command cannot be used during macro recording.
  5530.  
  5531.     Disk full:  A disk full condition was encountered while trying to
  5532.     save a file.
  5533.     Resolution:  Temporarily exit to DOS using the Shell command and
  5534.     remove some files on the full disk, OR use the KillFile command to
  5535.     remove the currently edited file from disk, OR use the
  5536.     ChangeFilename command to direct the file to a different disk drive
  5537.     designation.
  5538.  
  5539.     Error creating file:  The filename specified on the command line is
  5540.     either an invalid DOS filename or there are no files matching the
  5541.     wildcarded specification.
  5542.     Resolution:  Enter a valid DOS filename or valid wildcarded designation
  5543.     on the command line when executing QEdit.
  5544.  
  5545.     Error executing EXEC function:  DOS returned an error condition when
  5546.     QEdit attempted to perform the DOS EXEC function to load and execute
  5547.     a program and/or the DOS SHELL.
  5548.     Resolution:  Check these possible causes: there is not enough memory
  5549.     to load the external program, OR the COMMAND.COM file is not
  5550.     available, OR the COMSPEC environment variable is not set properly.
  5551.     Refer to your DOS manual for more information on the COMSPEC
  5552.     environment variable.
  5553.  
  5554.     Error opening file:  The file specified cannot be opened.
  5555.     Resolution:  Check for possible disk errors or failure.
  5556.  
  5557.     Error reading file:  The file specified cannot be read.
  5558.     Resolution:  Check for possible disk errors or failure.
  5559.  
  5560.                                   C-1
  5561.  
  5562.  
  5563.     Error renaming file:  The file specified cannot be renamed.
  5564.     Resolution:  Check for possible disk errors or failure.
  5565.  
  5566.     Error writing file:  The file specified cannot be saved.
  5567.     Resolution:  Check for possible disk errors or failure.
  5568.  
  5569.     File not found:  The file specified in response to the MacroRead or
  5570.     ReadBlock command could not be found on disk.
  5571.     Resolution:  Check for the correct name of the file to read.
  5572.  
  5573.     Filename already in use in ring:  The file specified in response to
  5574.     the ChangeFilename command is already loaded into the editor.
  5575.     Resolution:  Enter a filename that is not already loaded into the
  5576.     editor.  If you are attempting to "jump" to another file in the
  5577.     ring, use the EditFile command.
  5578.  
  5579.     Invalid macro filesize:  An attempt was made to load a macro file
  5580.     using the MacroRead command, which is either too large or is not
  5581.     a valid macro file.
  5582.     Resolution:  Check for the correct name of the macro file to read.
  5583.  
  5584.     Key already defined via config:  An attempt was made to assign a
  5585.     macro to a key which already had a command assignment.
  5586.     Resolution:  Refer to Appendix B and select a key which does not
  5587.     already have a command assignment.
  5588.  
  5589.     Long lines split:  An attempt was made to load a file whose line
  5590.     length exceeded the QEdit limit of 512 characters.
  5591.     Resolution:  The file can still be edited, but be aware that all
  5592.     lines exceeding 512 characters will be split into shorter lines.
  5593.  
  5594.     Macro table full:  There is no more room to record macros.
  5595.     Resolution:  Delete some unused macros.
  5596.  
  5597.     Macro too long - Aborted:  The macro being created during macro
  5598.     recording has exceeded the maximum length.
  5599.     Resolution:  Keep macros to less than 250 consecutive "entries".  Note
  5600.     that during macro recording each QEdit command takes up 1 of these
  5601.     entries and each keyboard character takes up 2 entries.
  5602.  
  5603.     Match not found:  No match was found for "(", "{", or "[" characters
  5604.     when using the Match command.
  5605.  
  5606.     Memory stolen by sub-process:  A memory resident program has procured
  5607.     memory that was in use by the editor.
  5608.     Resolution:  Immediately terminate the editor (without saving your
  5609.     file).  Take necessary steps to ensure that the memory resident
  5610.     program is not running while using the editor.
  5611.  
  5612.                                   C-2
  5613.  
  5614.  
  5615.     No files found:  An invalid wildcarded filename was entered in
  5616.     response to a QEdit "file(s) to edit" prompt.
  5617.     Resolution:  Check for the correct filename(s) to edit.
  5618.  
  5619.     Not enough memory to load entire file:  There is not enough memory to
  5620.     load the requested file into the editor.
  5621.     Resolution:  Split the requested file into separate files.
  5622.  
  5623.     Not enough memory:  There is not enough memory to continue editing
  5624.     the current file.
  5625.     Resolution:  Split the current file into separate files.
  5626.  
  5627.     Printer error:  An error was encountered while attempting to direct
  5628.     an edit file to the printer.
  5629.     Resolution:  Check to see that the printer is powered on, online, and
  5630.     properly connected to the computer.
  5631.  
  5632.     Press any key to continue:  The editor has displayed a message and
  5633.     will not continue until instructed.
  5634.  
  5635.  
  5636.     QCONFIG Error Messages
  5637.     ─────────────────────────────────────────────────────────────────────────
  5638.  
  5639.     invalid response - try again:  An invalid parameter was entered in
  5640.     response to a configuration option.
  5641.     Resolution:  Reread option and enter valid parameter.
  5642.  
  5643.     ERROR!!! Help buffer overflow in help.txt at line #:  The Help
  5644.     file contains more then 1800 non-blank characters.
  5645.     Resolution:  Edit the Help file and reduce the number of non-blank
  5646.     characters.
  5647.  
  5648.     Help filename xxxxxxxx.xxx NOT found:  The specified name of the Help
  5649.     file can not be found on disk.
  5650.     Resolution:  Check for the correct name of the Help file.
  5651.  
  5652.     Unexpected End Of File encountered at line #:   There is a problem
  5653.     with the format of the Help file, possibly corrupted.
  5654.     Resolution:  Load the Help file into QEdit and enter the SaveFile
  5655.     command.
  5656.  
  5657.     Line # too long:  The specified line in the Help file exceeds the
  5658.     maximum length of 80 characters.
  5659.     Resolution:  Edit the Help file and ensure that no lines exceed 80
  5660.     characters in length.
  5661.  
  5662.                                   C-3
  5663.  
  5664.  
  5665.     FATAL ERROR:  macro too long at line #:  The macro at the specified
  5666.     line number in the Keyboard Definition file exceeds the maximum
  5667.     length of 255 characters.
  5668.     Resolution:  Edit the Keyboard Definition file and ensure that no
  5669.     macros exceed 255 characters in length.
  5670.  
  5671.     FATAL ERROR:  unrecognized command xxxx at line #:  The Keyboard
  5672.     Definition file contains an invalid command at the specified line
  5673.     number.
  5674.     Resolution:  Edit the Keyboard Definition file and correct the
  5675.     invalid command.
  5676.  
  5677.     FATAL ERROR:  macro table full at line #:  There is no more room left
  5678.     in the Keyboard Definition file for macros.
  5679.     Resolution:  Delete some unused macros.
  5680.  
  5681.     FATAL ERROR:  too many twokey definitions, aborted at line #:  The
  5682.     maximum number of twokey assignments in the Keyboard Definition file
  5683.     has been exceeded.
  5684.     Resolution:  Edit the Keyboard Definition file and reduce the number
  5685.     of twokey assignments.  Generally, there can be 30 to 50 twokey
  5686.     assignments, depending on the number of unique first keys.  The more
  5687.     unique first keys there are, the fewer twokey assignments can be
  5688.     made.
  5689.  
  5690.     FATAL ERROR:  invalid second key code xx at line #:  The Keyboard
  5691.     Definition file contains an invalid second key (of a twokey
  5692.     assignment) at the specified line number.
  5693.     Resolution:  Edit the Keyboard Definition file and correct the
  5694.     invalid key.
  5695.  
  5696.     FATAL ERROR:  macro_begin not supported for twokey commands, line #:
  5697.     Macros cannot be assigned to twokeys.
  5698.  
  5699.     FATAL ERROR:  return bound to twokey at line #:  The Return command
  5700.     cannot be assigned to a twokey.
  5701.  
  5702.     FATAL ERROR:  escape bound to twokey at line #:  The Escape command
  5703.     cannot be assigned to a twokey.
  5704.  
  5705.     FATAL ERROR:  undefined key xxxx encountered at line #:   The Keyboard
  5706.     Definition file contains an invalid configurable key at the specified
  5707.     line number.
  5708.     Resolution:  Edit the Keyboard Definition file and correct the
  5709.     invalid key.
  5710.  
  5711.     FATAL ERROR:  return command MUST be "bound" to a key:  The Return
  5712.     command is not assigned to any key in the Keyboard Definition file.
  5713.     Resolution:  Assign the Return command to some configurable key in
  5714.     the Keyboard Definition file.
  5715.  
  5716.                                   C-4
  5717.  
  5718.  
  5719.     FATAL ERROR:  escape command MUST be "bound" to a key:  The Escape
  5720.     command is not assigned to any key in the Keyboard Definition file.
  5721.     Resolution:  Assign the Escape command to some configurable key in
  5722.     the Keyboard Definition file.
  5723.  
  5724.     File xxxxxxxx.xxx not found:  The specified name of the Keyboard
  5725.     Definition file can not be found on disk.
  5726.     Resolution:  Check for the correct name of the Keyboard Definition
  5727.     file.
  5728.  
  5729.     FATAL ERROR:  xxxxxxxx.xxx not found:  The specified name of the
  5730.     QEdit executable file cannot be found on disk.
  5731.     Resolution:  Check for the correct name of the QEdit executable file.
  5732.  
  5733.     FATAL ERROR:  patch area NOT found:  There is a problem with the QEdit
  5734.     executable file (Q.EXE or copy of same).
  5735.     Resolution:  Reload the QEdit (Q.EXE) and QCONFIG.EXE executable
  5736.     files from the QEdit distribution disk.
  5737.  
  5738.     FATAL ERROR:  end of patch area NOT found.  There is a problem with
  5739.     the QEdit executable file (Q.EXE or copy of same).
  5740.     Resolution:  Reload the QEdit (Q.EXE) and QCONFIG.EXE executable
  5741.     files from the QEdit distribution disk.
  5742.  
  5743.                                   C-5
  5744.  
  5745.  
  5746.  
  5747.  
  5748.     Appendix D.  Commonly Used Macros
  5749.     =========================================================================
  5750.  
  5751.     We have received many useful suggestions from QEdit users over the
  5752.     years.  Since the introduction of macros in version 2.00, we have
  5753.     received ideas for some very helpful macros.  Here is a short
  5754.     list of some of the more useful (and simple) macros.
  5755.  
  5756.  
  5757.     ■ By default, QEdit's AddLine and DelLine commands do not change the
  5758.       cursor position.  Many would prefer that the cursor move to column
  5759.       one when these commands are executed.  A solution is to change the
  5760.       QCONFIG.DAT file (and reload using QCONFIG.EXE) as follows:
  5761.  
  5762.       Default QCONFIG.DAT file:
  5763.  
  5764.       f2    AddLine
  5765.       ^y    DelLine
  5766.  
  5767.       Customized QCONFIG.DAT file:
  5768.  
  5769.       f2    MacroBegin AddLine BegLine
  5770.       ^y    MacroBegin DelLine BegLine
  5771.  
  5772.  
  5773.     ■ By default, QEdit's CopyBlock and MoveBlock commands leave the
  5774.       copied or moved block marked.  Many would prefer for the block to
  5775.       be unmarked.  A solution is to change the QCONFIG.DAT file (and
  5776.       reload using QCONFIG.EXE) as follows:
  5777.  
  5778.       Default QCONFIG.DAT file:
  5779.  
  5780.       @c    CopyBlock
  5781.       @m    MoveBlock
  5782.  
  5783.                                   D-1
  5784.  
  5785.  
  5786.       Customized QCONFIG.DAT file:
  5787.  
  5788.       @c    MacroBegin CopyBlock UnMarkBlock
  5789.       @m    MacroBegin MoveBlock UnMarkBlock
  5790.  
  5791.  
  5792.     ■ By default, QEdit's ReadBlock command inserts a file from disk at
  5793.       the current cursor position.  To have QEdit insert files on the
  5794.       line immediately following the current cursor line, change the
  5795.       QCONFIG.DAT file (and reload using QCONFIG.EXE) as follows:
  5796.  
  5797.       Default QCONFIG.DAT file:
  5798.  
  5799.       @r    ReadBlock
  5800.  
  5801.       Customized QCONFIG.DAT file:
  5802.  
  5803.       @r    MacroBegin EndLine SplitLine CursorDown BegLine ReadBlock
  5804.             GotoBlockEnd JoinLine GotoBlockBeg
  5805.  
  5806.  
  5807.     ■ By default, QEdit's DropAnchor command will end or extend a block
  5808.       if executed after a Block has been initially or entirely marked.
  5809.       Some editors have a similar command, except that it acts as a
  5810.       toggle.  That is, if you are already marking a Block, and you press
  5811.       DropAnchor again, the Block is unmarked and marking begins again
  5812.       at the current cursor position.  To implement, change the
  5813.       QCONFIG.DAT file (and reload using QCONFIG.EXE) as follows:
  5814.  
  5815.       Default QCONFIG.DAT file:
  5816.  
  5817.       @a    DropAnchor
  5818.  
  5819.       Customized QCONFIG.DAT file:
  5820.  
  5821.       @a    MacroBegin UnMarkBlock DropAnchor
  5822.  
  5823.  
  5824.     ■ A very useful QEdit command, GetPrev, will copy a character from
  5825.       the line immediately above the cursor line, onto the cursor line.
  5826.       Many times, it may be necessary to copy this character to several
  5827.       succeeding lines in the same column.  The GetPrev command, used in
  5828.       a macro, makes this function easy.  We will assign the macro to
  5829.       the <Alt 1> key (@1 in QEdit's terminology).
  5830.  
  5831.       @1    MacroBegin GetPrev CursorLeft CursorDown
  5832.  
  5833.                                   D-2
  5834.  
  5835.  
  5836.  
  5837.  
  5838.  
  5839.     Appendix E.  The Author
  5840.     =========================================================================
  5841.       
  5842.     Sammy Mitchell is a native of Atlanta, Georgia.  He graduated from
  5843.     Georgia State University in 1980 with a degree in Information
  5844.     Systems. Since college he has worked for Southern Company Services
  5845.     as a programmer analyst and for Equitable Real Estate Investment
  5846.     Management as a VM systems programmer. In 1986 he went into
  5847.     full-time consulting, specializing in systems and applications work
  5848.     on Micros and Mainframes in assembler, C and Pascal.  Besides QEdit,
  5849.     he is also the co-author of Mach 2 for Turbo Pascal, LXEDIT (a
  5850.     "large file" front-end for IBM's VM/CMS SP XEDIT), and a host of
  5851.     productivity aids at both Southern Company and Equitable. When he's
  5852.     away from the computer (which is very seldom these days) he enjoys
  5853.     lifting weights, playing softball, and spending quiet evenings with
  5854.     his wife.
  5855.  
  5856.                                   E-1
  5857.  
  5858.  
  5859.  
  5860.  
  5861.  
  5862.